【问题标题】:How to turn several variables with numbered names into a dictionary using the numbers as keys? [duplicate]如何使用数字作为键将具有编号名称的多个变量转换为字典? [复制]
【发布时间】:2022-07-05 07:56:57
【问题描述】:

我有这个代码作为例子:

list100 = [1, 1, 1]
list200 = [2, 2, 2]
save_dict = dict()
for i in [100, 200]:
   save_dict[i] = 'list' + str(i)

现在save_dict 将是{100: 'list100', 200: 'list200'}

我想要的是{100: [1, 1, 1], 200: [2, 2, 2]}

【问题讨论】:

  • 为什么需要这样做?
  • 为什么不只是lists = {100: [1, 1, 1], 200: [2, 2, 2]}?我的意思是,使用字符串按名称访问变量是一种代码味道,你应该重新考虑你的问题陈述以避免这种情况。
  • 我不知道如何解释我为什么需要这个。一个很长的故事。首先,我将在 2000 年左右生成很多 numpy 数组。然后我想使用 numpy.savez 将它们存储在单个文件中。因此,我需要将这 2000 个列表放入字典中,但我找不到这样做的好方法。

标签: python


【解决方案1】:

您可以为此使用globals

list100=[1,1,1]
list200=[2,2,2]
save_dict = dict()
for i in [100, 200]:
   save_dict[i]=globals()['list'+str(i)] #brings the global variable that is assigned of `'list'+str(i)`

【讨论】:

    猜你喜欢
    • 2016-11-20
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 2022-01-19
    • 2023-03-16
    相关资源
    最近更新 更多