Python列表、元组大总结
列表定义及特点
Python的列表是有序的,是包含0个或多个元素的有序序列,属于序列类型。列表可以进行修改。
由于列表属于序列类型,故继承了序列类型的所有属性和方法。
可以使用比较操作符(如 > 或 < 等)对列表进行比较。
列表用方括号 [] 表示,用逗号分隔其中的元素,也可以通过 list() 函数将元组或字符串转换为列表,直接使用 list() 函数会返回一个空列表。
print(list('av892%#@'))
>>>['a', 'v', '8', '9', '2', '%', '#', '@']
在列表中,值可以是任何数据类型,被称为元素或项。列表没有长度限制,因为元素类型可以不同,所以不需要预先定义列表长度。
Python可以通过元素在列表中所占的位置进行访问,即对列表中所有元素按序编号(称为索引),从而实现对列表的操作。列表的索引是从0开始的,以此类推。
操作列表
使用range()创建数字列表
要创建数字列表,使用函数list()将range()的结果直接转换为列表。
numbers=list(range(1,6))
print(numbers)
输出结果:
[1, 2, 3, 4, 5]
even_numbers=list(range(2,11,2)) #第三个参数指定步长
print(even_numbers)
输出结果:
[2, 4, 6, 8, 10]
列表解析***
列表解析将 for 循环和创建新元素的代码合并成一行,并自动附加新元素。只需要编写一行代码就能生成列表,非常简洁!!!
squares=[value**2 for value in range(1,11)]
print(squares)
>>>[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
lis=[2.3, 3.4, 4.5, 5.6, 6.7]
print([int(x)**2 for x in lis]) #打印 lis 中所有数的平方
print([int(x)**2 for x in lis if int(x)%2==0]) #只打印 lis 转换为整数后其中所有偶数的平方
>>>[4, 9, 16, 25, 36]
[4, 16, 36]
lista = [i for i in range(7) if i%2 != 0]
listb = [2*i+1 for i in range(7) if i%2 != 0]
print(lista)
print(listb)
>>>[1, 3, 5]
[3, 7, 11]
列表解析还可运用于处理输入的字符串:
例:输入一行以空格分隔的年龄,打印这些年龄的总和以及平均年龄
ages = [eval(x) for x in input('请输入:').split()]
s = sum(ages)
m = s/len(ages)
print(f"{
s} {
m:.1f}")
输入内容以及输出结果:
请输入:22 23 24
69 23.0
列表切片及遍历切片
列表可以使用下标索引来访问列表中的元素,也可以使用类似于字符串切片运算的形式截取列表中的元素。
列表的第一个元素的索引为0&#x