列表是Python中内置的可变序列,类使用C/C++中的数组,使用 [ ] 定义列表,列表中的元素与元素之间用英文逗号( , )分隔, 但是Python中列表可以存储任意类型的数据,且可以混存(即类型可以不一致)
列表创建
列表创建有两种方式,一种类似C/C++,直接填入数据
列表名称=[element1,element2,……elementn]
一种用list函数
列表名称=list(序列)
例如
list1 = ['Hello', 'world', 100, 50.89] #列表可以任意类型混合存储
list2=list('helloworld') #list函数将序列拆分后依次存入到list2中print(list1)
print(list2)list = list1 + list2 #列表是序列一种,所以有序列的运算操作,下面的代码一样print(list)
print(list.index('l')) # 查询第一次出现 l 的元素。注意:Hello算一个元素,和 l 不是同一个元素,所以打印值为 6,而非 2
print(list.count('l')) # 同上一行,打印值为 3print(list[1:3])
运行结果如下
列表删除
语法结构为
del 列表名称
例如
lis=list('HelloWorld')
print(lis)del lis#print(lis) # 语句报错,因为lis已经删除了
枚举
枚举函数名称为 enumerate,它返回一个 序号(注意不是索引) 和 对应的值。
例如
list1 = list('HelloWorld')
print(list1)for index,item in enumerate(list1):print(index, item)for index, item in enumerate(list1, start=1):print(index, item)
输出
列表特有操作
例如
s = ['Hello','World','PHP','Python']s.append('C++')
print(s)s.insert(1, 'C')
print(s)lis = s.pop(2)
print(lis, s)s.remove('Hello')
print(s)s.reverse()
print(s)lst = s.copy()
print(id(s), id(lst))s.clear()
print("s Clear:",s)
执行结果如下
列表排序
说明,sort方法为列表的内置方法,不会生成新的列表。内置函数sorted()则生成一个新的列表,源列表维持不变
例如
s = [3, 50,29,6,39,86,39]print("源列表:",s)s.sort() #默认为降序排列
print(s)s.sort(reverse=True) #修改为升序排列
print(s)lis=['Orange','apple','Cat','bnanana']
print("源列表lis:",lis)lis.sort(key=str.lower) # lower为不区分大小写,全部转换为小写排列
print(lis)lis2 = sorted(lis, key=str.lower, reverse=True)
print(lis2)
print(lis)
输出为