列表的基本操作

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

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


#结果:
2
5
[34]
[2345]

修改列表

由于列表是可以修改的,所以可以更改或者删除任意列表元素。

list1 = [12345]
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 =[123]
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 = [123]
print(id(list1))
list1.extend([456])
print(list1)
print(id(list1))

"""
结果:
42258827
[1, 2, 3, 4, 5, 6]
42258827
"""

  • index() 查找某一个值第一次出现在列表中的索引位置,如果该值在列表中不存在这抛出异常。
list1 = [123]
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 = [123]
linst1.insert(11.5)
print(list1)

"""
结果:
[1, 1.5, 2, 3]
"""

  • pop() pop用于删除列表中的一个值,默认删除最后一个值,并返回该元素的值。
list1 = [12345]
linst1.insert(11.5)
print(list1)
"""
结果:
5
2
"""

  • remove() 除列表中第一次出现的某个值。
list1 = [123234]
list1.remove(2)
print(list1)

"""
结果:
[3, 2, 1]
"""

  • reverse() 翻转列表中的元素。
list1 = [123]
list1.reverse()
print(list1)

"""
结果:
[3, 2, 1]
"""

  • sort() 对列表排序,此时列表的元素发生变化,列表本身内存地址不变。
list1 = [231536]
print(id(list1))
list1.sort()
print(id(list1))
print(list1)

"""
结果:
42257724
42257724
[1, 2, 3, 4, 5, 6]
"""

可以通过y=x[:]的方式快速复制一个列表

可以通过y=sorted(x)的方式获得已排好的列表x的副本。