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这种方式,因为这样只是复制了引用,并没有创建新的列表

posted @ 2026-04-23 17:57  YiYezc  阅读(1)  评论(0)    收藏  举报