Python数据类型二(List、Tuple)
三、列表(List)可变数据类型
列表是序列的一种(有些像数列),序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
1.创建列表
List = ['string1','string2',list2,1,2] 其中:list2 为['列',’表‘,1]
变量名 = [逗号分隔的不同的数据项],可以是数字、字符串、列表,元组,字典,列表索引从0开始
List[0] = 'string1' 正数从左边数、负数从右边数
List[0:2] = ['string1','string2']左闭右开与字符串操做相似
2.列表修改
增加(插入):
append(obj)
利用append()方法,可以向列表末尾添加新的元素
List.append('新元素'): List = ['string1','string2',list2,1,2,'新元素']
insert(index,obj)
append()方法是在列表末尾添加新元素,而insert 是在指定的位置插入新元素
List.insert(1,'新元素') List = ['string1','新元素','string2',list2,1,2]
extend(seq)
列表末尾一次性追加另一个序列中的多个值(List1 + List2 链接两个list)。
list1=['a','b'] list2=[1,2] list1.extend(list2) = ['a','b',1,2] list1 + list2 = ['a','b',1,2] list1.extend('qwe') = ['a','b','q','w','e']
注:insert 和 append方法不考虑数据类型,将数据作为一个整体添加到列表中,而extend方法将元组、列表、字符串、字典的key、集合中的元素会拆分成独立元素追加到列表中。
修改(更新)
list[n] = '新对象',将新元素赋值于位置n的与那苏。
删除
del
del list[n]删除位置n的元素
list=['a','b','c'] del list[1] = ['a','c']
pop(index)
用于移除列表中的一个元素(不写索引删除最后一个元素),并且返回该元素的值。
list1=['a','b','c'] list.pop(1) = ['a','c']
remove()
用于移除列表中某个值的第一个匹配项。
list=['a','b','c'] list.remove('b') = ['a','c']
clear()
清空列表
3.相关函数与方法
len(list)
统计列表中元素个数
list=['a','b','c','b'] len(list) = 4
min(list)/max(list)
最大最小值
寻找列表中元素的最大最小值,如果列表中是字符串,则比较字符串的首个字母,a最小z最大其中如果数字与字符串都有的,无法使用min()/max()函数进行比较 .
TypeError: '>' not supported between instances of 'int' and 'str'
list.count(obj)
统计某元素在列表中出现次数
list=['a','b','c','b'] list.count('b') = 2
list.index(obj)
返回元素第一次出现的位置
list=['a','b','c','b'] list.index('b') = 1(位置从0开始),如果没有该元素,将会报错, 所以可以先使用 x in list[] 来判断 x 元素是否存在,如果存在,在查询位置。
reverse()
反转列表中元素
逆序排列list=['a','b','c'] list.reverse() = ['c','b','a']
列表与字符串互相互转化
字符串>列表 :str.split()
str.split("分割符", 分割次数)
str ='bacad' str.split('a') = ['b','c','d'] str.split('a',1) = ['b','cad']
列表>字符串:join(list)
list = ['a','b','c'] str=''.join(list) > str='abc',注意如果列表中有数字形的元素,必须要将其转化为字符串在进行拼接,list = [1,2,3] list =[str(x) for x in list] str=''.join(list) > str='123',
sort() 函数
对原列表进行排序,如果指定参数,则使用指定的比较函数。list.sort( key=None, reverse=False),Key:传递函数方法名, reverse: Ture 降序, Fase 升序(默认)
四、元组(Tuple)
元组被称为只读列表,即数据可以被查询,但不能被修改。其中查询方法和列表相似tup(0)、tup(1:4),内置函数也与列表类似,也不再赘述了。
元组 > 列表:list(tuple)函数,将元组转化为列表
列表 > 元组:tuple(list)函数,将列表转化为元组
自动组包
多个变量并列出现在赋值符号的右边,这些变量将会合并成一个元组。例: c=a,b,d print(c) 将会得到 (a,b,c)
自动解包
如果赋值的左侧接收的变量和右侧的变量的个数一致,就会自动解包,一一对应赋值
x,y = a,b x=a,y=b