在您的程序中,您通常需要将多个元素组合在一起,以便将它们作为单个对象进行处理。为此,您将需要使用不同的集合。Python 中最有用的集合之一是list。它是 Python 中最重要的事情之一。
创建和打印列表
看一个简单的列表,其中存储了狗品种的几个名称:
dog_breeds = ['corgi', 'labrador', 'poodle', 'jack russell']
print(dog_breeds) # 犬种 = ['柯吉犬', '拉布拉多', '贵宾犬', '杰克罗素']
在第一行中,我们使用方括号创建一个包含四个元素的列表,然后将其分配给dog_breeds
变量。在第二行中,通过变量名打印列表。因为列表是有序的,所以所有元素都按照它们存储在列表中的顺序打印。
这是另一个包含五个整数的列表:
numbers = [1, 2, 3, 4, 5]
print(numbers) # [1, 2, 3, 4, 5]
创建列表的另一种方法是调用该list
函数。它用于从可迭代对象中创建列表:即一种对象,您可以在其中逐个获取其元素。可迭代性的概念将进一步详细解释,但让我们看一下下面的示例:
list_out_of_string = list('danger!')
print(list_out_of_string) # ['d', 'a', 'n', 'g', 'e', 'r', '!']
list_out_of_integer = list(235) # TypeError: 'int' object is not iterable
因此,该list
函数创建一个列表,其中包含给定可迭代对象中的每个元素。现在,请记住字符串是可迭代对象的示例,整数是不可迭代对象的示例。列表本身也是一个可迭代对象。
list
我们还要注意函数和使用方括号创建列表之间的区别:
multi_element_list = list('danger!')
print(multi_element_list) # ['d', 'a', 'n', 'g', 'e', 'r', '!']
single_element_list = ['danger!']
print(single_element_list) # ['danger!']
方括号和list
函数也可用于创建根本没有元素的空列表。
empty_list_1 = list()
empty_list_2 = []
在以下主题中,我们将考虑如何填充空列表。
列表的特点
列表可以根据需要多次 存储重复值。
on_off_list = ['on', 'off', 'on', 'off', 'on']
print(on_off_list) # ['on', 'off', 'on', 'off', 'on']
列表的另一个重要之处是它们可以包含不同类型的元素。因此,既没有限制,也没有固定的列表类型,您可以将所需的任何数据添加到列表中,如下例所示:
different_objects = ['a', 1, 'b', 2]
列表的长度
有时您需要知道列表中有多少元素。有一个内置函数len
可以应用于任何可迭代对象,它只返回该对象的长度。
因此,当应用于列表时,它会返回该列表中的元素数。
numbers = [1, 2, 3, 4, 5]
print(len(numbers)) # 5
empty_list = list()
print(len(empty_list)) # 0
single_element_list = ['danger!']
print(len(single_element_list)) # 1
multi_elements_list = list('danger!')
print(len(multi_elements_list)) # 7
在上面的示例中,您可以看到该len()
函数是如何工作的。同样,请注意应用于字符串的list()
和【】之间的区别:它可能不会产生您所期望的结果。
概括
作为回顾,我们注意到列表是:
- 有序,即每个元素在列表中都有固定的位置;
- iterable,即你可以一个一个地获取它们的元素;
- 能够存储重复值;
- 能够存储不同类型的元素。