【问题标题】:How to make multiple lists equal to multiple other lists如何使多个列表等于多个其他列表
【发布时间】:2021-07-31 20:42:32
【问题描述】:

我将有任意数量的列表,例如这里给出的 3 个。我想让这三个列表等于其他三个列表。

L1 = [1,1,1]
L2 = [2,2,2]
L3 = [3,3,3]
#and
changedL1 = [4,4,4]
changedL2 = [5,5,5]
changedL3 = [6,6,6]

想要的结果:

L1 = [4,4,4]
L2 = [5,5,5]
L3 = [6,6,6]

到目前为止我所尝试的:

for I in range(0,4):
  eval(f'L{i}') = eval(f'changedL{i}')

收到错误消息:
SyntaxError: 无法分配给函数调用

【问题讨论】:

  • “使这三个列表等于其他三个列表” - 为什么不直接复制所需的列表?
  • 你能深度复制这三个列表吗?
  • 我认为不可能使用复制方法。我只是展示了整个代码的简化 sn-p 但我需要修改原始列表

标签: python string for-loop syntax-error eval


【解决方案1】:

您可以使用locals() 来获取本地符号表:

L1 = [1,1,1]
L2 = [2,2,2]
L3 = [3,3,3]
#and
changedL1 = [4,4,4]
changedL2 = [5,5,5]
changedL3 = [6,6,6]

variables = locals()

for I in range(1,4):
  variables[f'L{I}'] = variables[f'changedL{I}']

print(L1, L2, L3)

【讨论】:

    猜你喜欢
    • 2021-04-05
    • 2021-09-17
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多