在 Python 中初始化多个列表
Initialize multiple lists in Python
初始化多个列表:
- 使用生成器表达式迭代
range
对象。 - 在每次迭代中,返回一个空列表。
- 在一行中将结果分配给变量。
主程序
list1, list2, list3 = ([] for _ in range(3)) print(list1) # 👉️ [] print(list2) # 👉️ [] print(list3) # 👉️ []
我们使用生成器表达式迭代range
长度为 3 的对象。
生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们返回一个空列表,然后将其分配给一个变量。
确保左边的变量与
range
对象中的数字一样多。
我们使用下划线
_
作为变量名。有一个约定来命名我们不打算用作的占位符变量。 _
范围类通常用于循环特定次数。
主程序
print(list(range(3))) # 👉️ [0, 1, 2] print(list(range(1, 4))) # 👉️ [1, 2, 3]
更手动的方法是在作业中用逗号分隔列表。
主程序
list1, list2, list3 = [], [], [] print(list1) # 👉️ [] print(list2) # 👉️ [] print(list3) # 👉️ []
右边的列表是不同的对象,存储在内存中的不同位置。
或者,您可以使用带有列表键的字典。
主程序
keys = ['list1', 'list2', 'list3'] my_dict = {key: [] for key in keys} print(my_dict) # 👉️ {'list1': [], 'list2': [], 'list3': []} print(my_dict['list1']) # 👉️ [] print(my_dict['list2']) # 👉️ []
我们使用字典理解来遍历键列表。
字典理解与列表理解非常相似。
他们对字典中的每个键值对执行一些操作,或者选择满足条件的键值对的子集。
在每次迭代中,我们返回键和一个列表作为值。
您可以使用括号表示法来访问列表中的键。
您还可以使用range
对象自动生成键的名称。
主程序
my_dict = {f'list{i}': [] for i in range(1, 5)} print(my_dict) # 👉️ {'list1': [], 'list2': [], 'list3': [], 'list4': []} print(my_dict['list1']) # 👉️ [] print(my_dict['list2']) # 👉️ []
我们使用格式化的字符串文字来生成每个字典键的名称。
格式化字符串文字 (f-strings) 让我们通过在字符串前加上f
.
您还可以创建一个包含多个子列表的列表。
主程序
lists = [[] for _ in range(3)] print(lists) # 👉️ [[], [], []]
我们使用列表理解来迭代一个range
对象。
在每次迭代中,我们返回一个空列表。
新列表包含 N 个子列表。