我希望从我的 Python 程序中内置的列表中打印出结果。
我将获取列表中值的结果并将它们打印出来,以制表符分隔。
我有一个名为“a”的列表,我将只选择元素来生成最终表格。
但是当我使用 .format 方法时,我不得不四次调用列表。
a = [1,2,3,4]
print('a{[0]}\ta{[3]}\ta{[1]}\ta{[2]}'.format(a, a, a, a))
Run Code Online (Sandbox Code Playgroud)
输出:
a1 a4 a2 a3
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法告诉格式命令每次使用列表“a”?
您可以使用*(单星号)为您打开列表。另请参阅:解压缩列表
a = [1,2,3,4]
print('a{0}\ta{3}\ta{1}\ta{2}'.format(*a))
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 Python 3.6 以上,您可以根据需要使用 f-strings:
a = [1, 2, 3, 4]
result = f"a{a[0]}\ta{a[3]}\ta{a[1]}\ta{a[2]}"
print(result)
Run Code Online (Sandbox Code Playgroud)
但是如果a改变它的尺寸,它就不是很可扩展。
如果顺序无关紧要,我会更倾向于按照以下方式做更多的事情:
a = [1, 2, 3, 4]
result = "\t".join(f"a{x}" for x in a)
print(result)
Run Code Online (Sandbox Code Playgroud)
这使用理解来创建一系列按您想要的方式格式化的字符串,然后用制表符将它们连接在一起。
如果订单(或仅选择某些项目)很重要,但您仍然想使用这样的东西,您可以尝试:
a = [1, 2, 3, 4]
indexes = [0, 3, 1, 2]
result = "\t".join(f"a{a[i]}" for i in indexes)
print(result)
Run Code Online (Sandbox Code Playgroud)
这样您就可以a通过更改这些列表来更改 的大小或您想要的顺序,并且代码将“正常工作”(假设您没有超出列表的范围)。因此,如果您只想打印索引 2 和 3:
a = [1, 2, 3, 4]
indexes = [2, 3]
result = "\t".join(f"a{a[i]}" for i in indexes)
print(result)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12128 次 |
| 最近记录: |