有没有一种方法可以使用Python中的循环将单个集合添加到数组中



我只想把元素作为一个索引。

这是我将存储数据的地方:

array = []

这是我的代码:

for x in range(2):
array.append({data[x]})

这个代码的结果是array = [{data1},{data2}]
我只想把它做成array = [{data1, data2}]

你的问题不清楚,但我会试着猜测你想要什么。

如果你在字典中使用列表作为关键字,你会得到一个例外:

array = ['a', 'b']
dct = {array: 'val'}

产生

Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: unhashable type: 'list'

这是因为列表是可变的,因此如果您在将列表用作键之后对其进行修改,则字典可能会出现错误行为。

因此,为了避免这种情况,您可以将列表转换为一个不可变的元组:

dct = {tuple(array): 'val'}
print(dct)

产生

{('a', 'b'): 'val'}

是的,tuples可以是dict中使用的索引,因为它是可散列的,而其他一些类型不能:

array = ['a', 'b']
tup = tuple(array)
#This works:
d = { tup:'A Value'}
#This does not work:
d = {array:'A Value'}
var1 = {'a':'12ab...' , 'b': 235 }
var2 = {'d1' : "28-03-2020" }
arr = [var1   , var2 ]
print(arr[0]) >>> {'a':'12ab...' , 'b': 235 }
print(arr[1])  >>> {'d1' : "28-03-2020" }
print (arr[0]['a'])  >>> 12ab...

这让你满意吗?

最新更新