Python学习笔记二——列表、元祖、字符串

目录

  • Python学习笔记二——列表、元祖、字符串
    • 列表
      • 基本操作:
      • 其他方法:
    • 元祖
      • 基本操作:
    • string字符串
      • 编码:
      • 基本操作:
      • 相关方法:
      • 格式化问题:

Python学习笔记二——列表、元祖、字符串

列表

list是一种有序的集合,可以随时添加和删除其中的元素,list里面的元素的数据类型可以不同,list元素也可以是另一个list。

基本操作:

  1. 创建
    list_classmates = ['Michael', 'Bob', 'Tracy'],用len()函数可以获得list元素的个数,用索引来访问list中每一个位置的元素,可以用-1做索引,直接获取最后一个元素。
  2. append()
    list_classmates.append('Adam')往list中追加元素到末尾。
  3. pop()
    list_classmates.pop()删除list末尾的元素,并且返回该元素的值。用pop(i)方法删除指定位置的元素。
  4. del()
    del list_classmates[2]语句来删除列表的的元素。

其他方法:

方法 描述
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj) 将对象插入列表
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反向列表中元素:要反向遍历一个序列,首先指定这个序列,然后调用 reversed() 函数
list.sort( key=None, reverse=False) 对原列表进行排序:要按顺序遍历一个序列,使用 sorted() 函数返回一个已排序的序列,并不修改原值
list.clear() 清空列表
list.copy() 复制列表
enumerate(list[:]) 在序列中遍历时,索引位置和对应值可以使用 enumerate() 函数同时得到
zip() 同时遍历两个或更多的序列,可以使用 zip() 组合

元祖

tuplelist非常类似,但是tuple一旦初始化就不能修改。

基本操作:

  1. 创建
    (1).tup1 = ()定义一个空的tuple。
    (2).tup2 = (1,)定义一个只有1个元素的tuple,加一个逗号,,以免误解成数学计算意义上的括号。
    (3).tup3 = "a", "b", "c", "d",不需要括号也可以。
  2. 不可变性
    (1).tuple没有append()insert()这样的方法,其他获取元素的方法和list是一样的,你可以正常地使用索引获取元素,但不能赋值成另外的元素。
    (2).tuple所谓的“不变”是说,tuple的每个元素,指向永远不变,但指向的这个list本身是可变的。如:t = ('a', 'b', ['A', 'B'])可以使t[2][0] = 'X'
    (3).元组中的元素值是不允许修改的,但我们可以对元组进行连接组合:tup3 = tup1 + tup2,也可以复制:('Hi!',) * 4del语句来删除整个元组:del tup

string字符串

编码:

在最新的Python 3版本中,字符串是以Unicode编码的(最常用的是用两个字节表示一个字符,如果要用到非常偏僻的字符,就需要4个字节),Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符。

基本操作:

a值为字符串 “Hello”,b变量值为 “Python”:

操作符 描述 实例
+ 字符串连接 a + b 输出结果: HelloPython
* 重复输出字符串 a*2 输出结果:HelloHello
[] 通过索引获取字符串中字符 a[1] 输出结果 e
[ : ] 截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。 a[1:4] 输出结果 ell
in 成员运算符 - 如果字符串中包含给定的字符返回 True ‘H’ in a 输出结果 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True ‘M’ not in a 输出结果 True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 print( r'\n' ) print( R'\n' )
% 格式字符串 见格式化内容

相关方法:

  1. encode() & decode()
    (1).网络传输时把str——'ABC'通过 'ABC'.encode('ascii')变为以字节为单位的bytes——b'ABC', 含中文的使用可变长编码UTF-8——'中文'.encode('utf-8')bytes每个字符都只占用一个字节。
    (2).从网络或磁盘上读取了字节流,要把bytes变为str,就需要用decode()方法。

  2. len()
    计算str包含字符数:len('中文')结果为2;计算bytes包含字节数:len('中文'.encode('utf-8'))结果为6。

格式化问题:

  1. %运算符——格式化字符串
    字符串里面字符需要转义: 'growth rate: %d %%' % 7输出为:'growth rate: 7 %'
占位符 替换内容
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数

在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符:

转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\’ 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
  1. format()——格式化字符串
    它会用传入的参数依次替换字符串内的占位符{0}、{1}……。'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)输出为:'Hello, 小明, 成绩提升了 17.1%'

你可能感兴趣的:(Python学习笔记二——列表、元祖、字符串)