Python列表操作
1.列表遍历
nums = ['one','two','three','four','five']
for num in nums:
print(num)
执行后得到:
one
two
three
four
five
2.for循环注意点
①不要忘记:
①:下一行的循环执行内容要进行缩进四个空格
②循环结束后,空一行,不缩进
2.创建数值列表
使用range( )函数
①range(stop) 从0开始,到stop-1结束
print(list(range(5)))
执行得到:[0, 1, 2, 3, 4]
print(list(range(3)))
执行得到:[0, 1, 2]
②range(start, stop) 从start开始,到stop-1结束
print(list(range(2, 6)))
执行得到: [2, 3, 4, 5]
print(list(range(-2, 3)))
执行得到: [-2, -1, 0, 1, 2]
③range(start, stop, step) 指定步长
print(list(range(0, 10, 2)))
执行得到:[0, 2, 4, 6, 8] (步长为2)
print(list(range(10, 0, -1)))
执行得到: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] (倒序)
3.列表推导式
nums = [num**2 for num in range(1,11)]
print(nums)
执行得到:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3.切片
列表[起始索引:结束索引:步长]
得到的切片包含起始索引元素,不包含结束索引元素
列表切片主要用来提取、操作和复制列表(或其他序列)的一部分,切片是原列表的浅拷贝,对切片的处理不会影响到原列表
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
①用切片获取列表部分元素
# 获取第2到第4个元素(索引1到3)
print(nums[1:4])
执行得到:[1, 2, 3]
# 从开始到索引4(不包含4)
print(nums[:4])
执行得到:[0, 1, 2, 3]
# 从索引5到结束
print(nums[5:])
执行得到:[5, 6, 7, 8, 9]
#得到列表最后三个元素
print(nums[-3:0])
执行得到:[7, 8, 9]
②编列切片
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for num in nums[:4]:
print(num)
执行得到:
0
1
2
3
③复制列表
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
nums_copy=nums[ : ]
print(nums)
print(nums_copy)
nums_copy.append(10)
print(nums)
print(nums_copy)
执行后得到:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
如果列表包含嵌套对象,对使用切片复制,对复制列表操作仍然会影响到原列表,需要使用深度拷贝
列表复制能不能使用nums_copy=nums这种方式,因为这样只是复制了引用,并没有创建新的列表

浙公网安备 33010602011771号