首页 > 解决方案 > 如何在 Python 的 print 函数中读取数组的元素?

问题描述

我只想使用打印功能创建一次以下输出:

1 - Add
2 - Subtract
3 - Divide
4 - Multiply

为此,我使用以下代码:

> for i in range(1, 5):
>     array = ["Add", "Subtract", "Divide", "Multiply"]
>     print(f"{i} - array[{i-1}]")

但我得到的输出是:

1 - array[0]
2 - array[1]
3 - array[2]
4 - array[3]

你能帮我做错什么吗?如何在打印函数中调用数组元素?

标签: pythonarraysstringf-string

解决方案


您需要在 中移动列表索引{},否则array将被解释为字符串:

print(f"{i} - {array[i-1]}")

但是您print在循环中使用了该函数 4 次。如您所说,如果您print只想使用一次,则可以解压缩生成器表达式并使用sep参数:

array = ['Add', 'Subtract', 'Divide', 'Multiply']
print(*(f'{idx} - {val}' for idx, val in enumerate(array, 1)), sep='\n')

推荐阅读