Python中list列表的基本操作

列表的基本操作

与字符串一样,可以通过索引访问列表中的元素,同时列表也支持切片操作。

list1 = [1, 2, 3, 4, 5]
print(list[1])           # 提取第二个元素
print(list[-1])           # 提取倒数第一个元素
print(list[2:4])           # 提取第三和第四个元素
print(list[1:])           # 提取第二个元素以及之后的所有元素
# 结果:
"""
2
5
[3, 4]
[2, 3, 4, 5]
"""

修改列表

  • 由于列表是可以修改的,所以可以更改或者删除任意列表元素。
list1 = [1, 2, 3, 4, 5]
list1[1] = 100    # 为第二个元素重新赋值
print(list1)
list1[2] = ["I", "Love", "Python"] # 将列表的第三个元素替换为一个新列表
print(list1)
del list1[0]    # 删除第一个元素
print(list1)
"""
结果:
[1,, 100, 3, 4, 5]
[1, 100, ['I', 'Love', 'Python']]
[100, ['I', 'Love', 'Python'], 4, 5]
"""

列表方法

  • 由于列表是一个非常重要的对象,所以Python内置很多常用的列表方法。
append()
  • append方法用于在列表末尾添加新元素
list1 =[1, 2, 3]
list1.append(4)
print(list1)
"""
结果:
[1, 2, 3, 4]
"""
count()
  • count方法用于统计列表某个元素出现的次数。
list1 = ["I", "Love", "Python", "You", "Love", "Python", "Too"]
print(list1.count("Python"))
"""
结果:
2
"""
extend()
  • extend方法用于在列表末尾追加另一个列表,而向前列表内存地址不变。
list1 = [1, 2, 3]
print(id(list1))
list1.extend([4, 5, 6])
print(list1)
print(id(list1))
"""
结果:
42258827
[1, 2, 3, 4, 5, 6]
42258827
"""
index()
  • 查找某一个值第一次出现在列表中的索引位置,如果该值在列表中不存在这抛出异常。
list1 = [1, 2, 3]
print(linst1.index(2))
print(list1.index(5))
"""
结果:
1
Traceback <most recent call last>:
	File "<stdin>", line 1, in <module> ValueError: 5 is not in list
"""
insert()
  • insert用于向列表中插入一个值。
list1 = [1, 2, 3]
linst1.insert(1, 1.5)
print(list1)
"""
结果:
[1, 1.5, 2, 3]
"""
pop()
  • pop用于删除列表中的一个值,默认删除最后一个值,并返回该元素的值。
list1 = [1, 2, 3, 4, 5]
linst1.insert(1, 1.5)
print(list1)
"""
结果:
5
2
"""

remove()

  • 删除列表中第一次出现的某个值。
list1 = [1, 2, 3, 2, 3, 4]
list1.remove(2)
print(list1)
"""
结果:
[3, 2, 1]
"""

reverse()

  • 翻转列表中的元素。
list1 = [1, 2, 3]
list1.reverse()
print(list1)
"""
结果:
[3, 2, 1]
"""

sort()

  • 对列表排序,此时列表的元素发生变化,列表本身内存地址不变。
list1 = [2, 3, 1, 5, 3, 6]
print(id(list1))
list1.sort()
print(id(list1))
print(list1)
"""
结果:
42257724
42257724
[1, 2, 3, 4, 5, 6]
"""
  • 可以通过y=x[:]的方式快速复制一个列表
  • 可以通过y=sorted(x)的方式获得已排好的列表x的副本。

猜你喜欢

转载自blog.csdn.net/qq_40679091/article/details/109178847