在 Python 中打印列表列表
Print a list of lists in Python
要打印列表列表:
- 使用
for
循环遍历列表。 - 访问每个子列表中的特定项目。
- 使用
print()
函数打印结果。
主程序
list_of_lists = [ [1, 'alice', 'Austria'], [2, 'bobbyhadz', 'Bulgaria'], [3, 'carl', 'Canada'], ] for sublist in list_of_lists: # 1 alice Austria # 2 bobbyhadz Bulgaria # 3 carl Canada print(sublist[0], sublist[1], sublist[2])
我们使用for
循环遍历列表列表并访问每个子列表中的特定元素。
如果您需要打印每个子列表的所有项目,您可以使用可迭代的拆包运算符。
主程序
list_of_lists = [ [1, 'alice', 'Austria'], [2, 'bobbyhadz', 'Bulgaria'], [3, 'carl', 'Canada'], ] for sublist in list_of_lists: # 1 alice Austria # 2 bobbyhadz Bulgaria # 3 carl Canada print(*sublist)
*可迭代解包运算符
使我们能够在函数调用、推导式和生成器表达式中解包可迭代对象。
如果需要以特定方式格式化每一行,则可以使用格式化字符串文字。
主程序
list_of_lists = [ [1, 'alice', 'Austria'], [2, 'bobbyhadz', 'Bulgaria'], [3, 'carl', 'Canada'], ] for sublist in list_of_lists: # Name: alice | Country: Austria # Name: bobbyhadz | Country: Bulgaria # Name: carl | Country: Canada print(f'Name: {sublist[1]} | Country: {sublist[2]}')
格式化字符串文字 (f-strings) 让我们通过在字符串前加上
f
.主程序
var1 = 'bobby' var2 = 'hadz' result = f'{var1}{var2}' print(result) # 👉️ bobbyhadz
确保将表达式括在大括号 –{expression}
中。
如果您需要以
表格格式打印列表列表,您可以使用相同的方法。
主程序
headers = [ 'ID', 'Name', 'Country' ] list_of_lists = [ [1, 'alice', 'Austria'], [2, 'bobbyhadz', 'Bulgaria'], [3, 'carl', 'Canada'], ] print(f'{headers[0]: <10}{headers[1]: <15}{headers[2]}') # ID Name Country # 1 alice Austria # 2 bobbyhadz Bulgaria # 3 carl Canada for row in list_of_lists: print(f'{row[0]: <10}{row[1]: <15}{row[2]}')
格式化字符串文字还使我们能够
在表达式块中使用格式特定的迷你语言。
主程序
my_str = 'hi' # 👇️ left-aligned result = f'{my_str: <6}' print(repr(result)) # 👉️ 'hi ' # 👇️ right-aligned result = f'{my_str: >6}' print(repr(result)) # 👉️ ' hi'
冒号和小于号之间的空格是填充符。
小于号或大于号是对齐方式。
小于号使字符串左对齐,大于号使字符串右对齐。
我们首先格式化并打印标题,然后遍历列表并打印每一行。
str.join()
如果需要使用分隔符连接每个子列表的元素,则可以使用该方法。
主程序
list_of_lists = [ [1, 'alice', 'Austria'], [2, 'bobbyhadz', 'Bulgaria'], [3, 'carl', 'Canada'], ] # 1, alice, Austria # 2, bobbyhadz, Bulgaria # 3, carl, Canada for sublist in list_of_lists: result = ', '.join(str(item) for item in sublist) print(result)
str.join方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。
请注意,
TypeError
如果可迭代对象中有任何非字符串值,该方法将引发 a。如果您的 iterable 包含数字或其他类型,请在调用之前将所有值转换为字符串join()
。
调用该方法的字符串用作元素之间的分隔符。
我们在示例中使用了逗号和空格 ( ,
),但您可以使用任何其他分隔符。
如果您需要将列表的列表连接成一个字符串,请使用两次调用该
str.join()
方法。
主程序
list_of_lists = [ [1, 'alice', 'Austria'], [2, 'bobbyhadz', 'Bulgaria'], [3, 'carl', 'Canada'], ] # 1, alice, Austria # 2, bobbyhadz, Bulgaria # 3, carl, Canada result = ', '.join(' '.join(str(item) for item in sublist) for sublist in list_of_lists) print(result) # 👉️ 1 alice Austria, 2 bobbyhadz Bulgaria, 3 carl Canada
对该方法的内部调用连接了当前迭代
join()
的元素。 sublist
我们在连接每个子列表的元素时使用了空格分隔符,但您可以使用任何其他分隔符。
在调用之前,我们使用str()
该类将每个值转换为字符串
join()
。
最后一步是使用该join()
方法将列表中的子列表连接成一个带有逗号分隔符的字符串。