gpt4 book ai didi

python - 如何在 Python 中引用/迭代多个列表

转载 作者:行者123 更新时间:2023-11-28 21:14:10 26 4
gpt4 key购买 nike

我发现对这个问题的所有回答要么是短路的,要么不是纯粹的 pythonic。

如果我有多个列表:

audcad = ["audcad",0,0,0,0,0,0,0,0,0,0,0,0,0]
audchf = ["audchf",0,0,0,0,0,0,0,0,0,0,0,0,0]
audjpy = ["audjpy",0,0,0,0,0,0,0,0,0,0,0,0,0]

ccys = ["audcad", "audchf", "audjpy"]

以下代码应该阐明我的意图:

for ccy in ccys:
ccy[13] += 10

应该导致:

audcad = ["audcad",0,0,0,0,0,0,0,0,0,0,0,0,10]
audchf = ["audchf",0,0,0,0,0,0,0,0,0,0,0,0,10]
audjpy = ["audjpy",0,0,0,0,0,0,0,0,0,0,0,0,10]

因为我正在使用字符串对象进行引用:

Traceback (most recent call last):
File "<stdin>", line 2, in <module>
IndexError: string index out of range

我不想为此使用 numpy,因为我正在部署到一个我想安装得尽可能少的服务器,所以代码需要尽可能的 pythonic。我如何遍历任意列表以填充和读取每个列表中的特定元素?

我认为像数组列表这样的二维对象可能是更好的解决方案,但我仍然需要如何迭代对象而不必使用大型 if 语句和单独的数组名称列表(发现 hacky SA)。

最佳答案

你的列表 ccys 应该包含其他列表变量本身(作为浅拷贝),而不是它们作为字符串的名称

ccys = [audcad, audchf, audjpy]

那么你的代码就可以正常工作了

for ccy in ccys:
ccy[13] += 10

>>> audcad
['audcad', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10]
>>> audchf
['audchf', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10]
>>> audjpy
['audjpy', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10]

关于python - 如何在 Python 中引用/迭代多个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31941020/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com