3.5 KiB
title | localeTitle |
---|---|
Lists | 清单 |
TODO: list
基本信息
创建:
使用一对方括号创建一个空list
:
>>> empty_list = []
>>> type(empty_list)
<class 'list'>
>>> len(empty_list)
0
通过用逗号分隔的带有方括号的元素list
可以使用元素创建列表。列表允许元素具有不同类型(异构),但最常见的是单一类型(同类):
>>> homogeneous_list = [1, 1, 2, 3, 5, 8]
>>> type(homogeneous_list)
<class 'list'>
>>> print(homogeneous_list)
[1, 1, 2, 3, 5, 8]
>>> len(homogeneous_list)
6
>>> heterogeneous_list = [1, "Hello Campers!"]
>>> print(heterogeneous_list)
[1, "Hello Campers!"]
>>> len(heterogeneous_list)
2
list
构造函数也可用于创建list
:
>>> empty_list = list() # Creates an empty list
>>> print(empty_list)
[]
>>> list_from_iterable = list("Hello campers!") # Creates a list from an iterable.
>>> print(list_from_iterable)
['H', 'e', 'l', 'l', 'o', ' ', 'c', 'a', 'm', 'p', 'e', 'r', 's', '!']
访问list
元素:
>>> my_list = [1, 2, 9, 16, 25]
>>> print(my_list)
[1, 2, 9, 16, 25]
零索引
>>> my_list[0]
1
>>> my_list[1]
2
>>> my_list[2]
9
包裹索引
>>> my_list[-1]
25
>>> my_list[-2]
16
解压缩python-3的列表
>>> print(*my_list)
1 2 9 16 25
易变的:
lists
是可变容器。可变容器是容器,允许更改容器包含的对象。 TODO:加入更多?
重新排列列表中的元素
可以使用另一list
作为索引来提取和重新排列list
元素。
>>> my_list = [1, 2, 9, 16, 25, 34, 53, 21]
>>> my_index = [5, 2, 0]
>>> my_new_list = [my_list[i] for i in my_index]
>>> print(my_new_list)
[34, 9, 1]
TODO:这里应讨论以下哪些方面:
-
list.append(x)
将项添加到列表的末尾。相当于[len(a):] = [x]。 -
list.extend(L)
通过附加给定列表中的所有项来扩展列表。相当于[len(a):] = L. -
list.insert(i, x)
在给定位置插入一个项目。第一个参数是要插入的元素的索引,因此a.insert(0,x)插入列表的前面,而a.insert(len(a),x)等同于a.append( X)。 -
list.remove(x)
从列表中删除值为x的第一个项目。如果没有这样的项目则是错误的。 -
list.pop([i])
删除列表中给定位置的项目,然后将其返回。如果未指定索引,则a.pop()将删除并返回列表中的最后一项。 (方法签名中i周围的方括号表示该参数是可选的,而不是您应该在该位置键入方括号。您将在Python Library Reference中经常看到这种表示法。) -
list.clear()
从列表中删除所有项目。相当于del a [:]。 -
list.index(x)
返回值为x的第一个项的列表中的索引。如果没有这样的项目则是错误的。 -
list.count(x)
返回x在列表中出现的次数。 -
list.sort(key=None, reverse=False)
对列表中的项进行排序(参数可用于排序自定义,请参阅sorted()以获取解释)。 -
list.reverse()
在适当的位置反转列表的元素。 -
list.copy()
返回列表的浅表副本。相当于[:]。