列表:列表的各个元素通过逗号分割,写在方括号中。
序列->列表:list(sequence)
>>> list('hello') #字符串不能像列表一样被修改,因此可以使用list()转换成列表
['h', 'e', 'l', 'l', 'o']
>>> list(('w','o','r')) #list()适用于所有类型的序列而不只是字符串。
['w', 'o', 'r']
基本的改变列表的操作:
1,索引赋值:x=[1,2,3] x[1]=4 # [1,4,3]
不能为一个位置不存在的元素进行赋值,例如:[x5]=4
2,删除元素:del x[1] #[1,3]
3,分片赋值:
可以一次为多个元素赋值,并且可以使用与原序列不等长的序列替换
x=[1,2,3] x[4:7]=[4,5,6] #[1, 2, 3, 4, 5, 6]
PS:此时x[3]的值为4( 我以为在索引为3的元素会是Null :( )
分片赋值可以在不需要替换任何现有元素的情况下插入新的元素:
>>> x=[1,4,5,6]
>>> x[1:1]=[2,3]
>>> x
[1, 2, 3, 4, 5, 6]
>>> x[3:]=[] #效果等同于del x[3:]
>>> x
[1, 2, 3]
方法:是一个与某些对象有紧密联系的函数。 对象.方法(参数)
列表的方法:
1,list.append() 用于在列表的末尾追加新的对象。直接修改了原列表。
>>> x=[1,2,3]
>>> y=(4,5,6)
>>> x.append(y)
>>> x
[1, 2, 3, (4, 5, 6)]
2,list.count() 用于统计某个元素在列表中出现的次数。
3,list.extend() 用于在列表的末尾一次性追加另一个序列中的多个值。
>>> x=[1,2,3]
>>> y=(4,5,6)
>>> x.extend(y)
>>> x
[1, 2, 3, 4, 5, 6]
PS:与连接操作(+)的区别是extend方法修改了原列表,而连接操作会返回一个全新的列表。
4,list.index() 用于从列表中找出某个值第一个匹配项的索引位置
5,list.insert() 用于将对象插入到列表中.
>>> x=[1,4,5]
>>> x.insert(1,(2,3))
>>> x
[1, (2, 3), 4, 5]
>>> x.insert(7,7)
>>> x
[1, (2, 3), 4, 5, 7]
6,list.pop() 用于移除列表中的一个元素(默认是最后一个),并且返回该元素的
值。
PS:pop方法是唯一一个即修改列表又返回元素(None除外)的列表方法
7,list.remove() 用于移除列表中某个值的第一个匹配项。
PS:此方法接受的参数是列表元素值。del()函数接收的参数是索引号。
8,list.reverse() 用于将列表中的元素反向存放。直接修改原列表。
9,list.sort() 在原位置对列表进行排序。
PS:若不想使用分片[:]对原列表进行复制的话,可以使用sorted(list)函数 获
取已排序列表的副本。
10,高级排序:可以自定义排序规则 … …
元组:
不能修改。实现方式:(1,2,3)单个元素也可(42,)
tuple(sequence):以一个序列作为参数并将它转换为元组
元组的操作:
基本只有创建和访问,都可以通过分片进行操作,得到的结果也都还是元组。
存在的意义:
可以在映射中当作键使用,而列表则不行
元组作为很多内建函数的和方法的返回值存在
序列->列表:list(sequence)
>>> list('hello') #字符串不能像列表一样被修改,因此可以使用list()转换成列表
['h', 'e', 'l', 'l', 'o']
>>> list(('w','o','r')) #list()适用于所有类型的序列而不只是字符串。
['w', 'o', 'r']
基本的改变列表的操作:
1,索引赋值:x=[1,2,3] x[1]=4 # [1,4,3]
不能为一个位置不存在的元素进行赋值,例如:[x5]=4
2,删除元素:del x[1] #[1,3]
3,分片赋值:
可以一次为多个元素赋值,并且可以使用与原序列不等长的序列替换
x=[1,2,3] x[4:7]=[4,5,6] #[1, 2, 3, 4, 5, 6]
PS:此时x[3]的值为4( 我以为在索引为3的元素会是Null :( )
分片赋值可以在不需要替换任何现有元素的情况下插入新的元素:
>>> x=[1,4,5,6]
>>> x[1:1]=[2,3]
>>> x
[1, 2, 3, 4, 5, 6]
>>> x[3:]=[] #效果等同于del x[3:]
>>> x
[1, 2, 3]
方法:是一个与某些对象有紧密联系的函数。 对象.方法(参数)
列表的方法:
1,list.append() 用于在列表的末尾追加新的对象。直接修改了原列表。
>>> x=[1,2,3]
>>> y=(4,5,6)
>>> x.append(y)
>>> x
[1, 2, 3, (4, 5, 6)]
2,list.count() 用于统计某个元素在列表中出现的次数。
3,list.extend() 用于在列表的末尾一次性追加另一个序列中的多个值。
>>> x=[1,2,3]
>>> y=(4,5,6)
>>> x.extend(y)
>>> x
[1, 2, 3, 4, 5, 6]
PS:与连接操作(+)的区别是extend方法修改了原列表,而连接操作会返回一个全新的列表。
4,list.index() 用于从列表中找出某个值第一个匹配项的索引位置
5,list.insert() 用于将对象插入到列表中.
>>> x=[1,4,5]
>>> x.insert(1,(2,3))
>>> x
[1, (2, 3), 4, 5]
>>> x.insert(7,7)
>>> x
[1, (2, 3), 4, 5, 7]
6,list.pop() 用于移除列表中的一个元素(默认是最后一个),并且返回该元素的
值。
PS:pop方法是唯一一个即修改列表又返回元素(None除外)的列表方法
7,list.remove() 用于移除列表中某个值的第一个匹配项。
PS:此方法接受的参数是列表元素值。del()函数接收的参数是索引号。
8,list.reverse() 用于将列表中的元素反向存放。直接修改原列表。
9,list.sort() 在原位置对列表进行排序。
PS:若不想使用分片[:]对原列表进行复制的话,可以使用sorted(list)函数 获
取已排序列表的副本。
10,高级排序:可以自定义排序规则 … …
元组:
不能修改。实现方式:(1,2,3)单个元素也可(42,)
tuple(sequence):以一个序列作为参数并将它转换为元组
元组的操作:
基本只有创建和访问,都可以通过分片进行操作,得到的结果也都还是元组。
存在的意义:
可以在映射中当作键使用,而列表则不行
元组作为很多内建函数的和方法的返回值存在