我知道这是个坏主意。字典看起来是一种更干净的方式来做我需要做的事情,但我正在寻找一个地方持有人持有的东西,而我想知道如何正确使用字典,我需要。
同时,我有十几个列表,我正试图设置列表名,以便与变量一起使用。
所以通常我会用:
Listname.append("Text")
但在循环的不同迭代中,我希望能够使用一个不同的列表,该列表是从一个更大的字符串中拆分出来的。
类似于:
x1 = []
x2 = []
x3 = []
for y in 1 to 3:
"x"+y.append("string")
再说一次,我知道这是个坏主意,我正试着去查字典,但这相当于在我这么做的时候用胶带把东西粘在一起。
我想不出一个办法让它工作。它告诉我.append不能处理这个问题(这是我所期望的)。我试着用str()在一个长镜头上转换整件事,但它当然告诉我你没有附加到字符串。
我知道这可能不是你通常想做的事情,如果我真的通过IDE来管理它,会因为我做了愚蠢的事情而对我大喊大叫,但这首先是可能的吗?
字典确实是最好的解决办法。然而,如果你迫切需要一个解决方案,你可以利用^{} :
这有一个附带的好处,就是以后可以很容易地用
dict
替换,因为您实际上正在使用类似dict
的东西。不过,老实说,在这种情况下,用
dict
替换为isn't that hard。我可以想象一些情况会使事情复杂化,尽管:
如果变量在模块范围内,而这在函数中,则还有类似的^{} 。
如果这些是类或对象的属性,则可以使用^{} :
把变量放到字典里。列表是通过引用传递的对象之一,因为列表是对复杂对象的引用。因此,如果你把它放在字典中,你仍然可以把它称为
x1
,但是你也可以把它称为d["x1"]
,只要你不删除它或者用x1 = []
重新初始化它。你问题的任何答案都比字典本身更难理解。不管怎样,就这样。
如果列表是全局的,则它们存储在内置函数
globals()
返回的字典中。所以你可以从那本字典里取出这些列表,然后附加到它们上面。所以你可以:
相关问题 更多 >
编程相关推荐