字典没有提供所有元素-Python
我想根据清单编一本字典字典没有提供所有元素-Python,python,numpy,dictionary,Python,Numpy,Dictionary,我想根据清单编一本字典 import numpy as np a1 = [1,2,3,4,5,6,7,8,9] b1 = ['a','b','c','d','e','f','g','h','i'] c1 = ['A','B','C','D','E','F','G','H','I'] array2 = np.array([a1,b1,c1]).tolist() keys = ['name', 'type','description','logo'] print dict(zip(keys,
import numpy as np
a1 = [1,2,3,4,5,6,7,8,9]
b1 = ['a','b','c','d','e','f','g','h','i']
c1 = ['A','B','C','D','E','F','G','H','I']
array2 = np.array([a1,b1,c1]).tolist()
keys = ['name', 'type','description','logo']
print dict(zip(keys, zip(*array2)))
输出:
{'logo': ('4', 'd', 'D'), 'type': ('2', 'b', 'B'), 'name': ('1', 'a', 'A'), 'description': ('3', 'c', 'C')}
- 为什么我只得到4个元素
- 为什么字典元素按4,2,1,3的随机顺序排列,为什么
不是1,2,3,4
keys
仅包含4个元素,因此由zip(keys,zip(*array2))
生成的压缩列表也将包含4个值,从而导致dict
仅包含4个值
为什么字典元素的顺序是随机的? 普通字典中元素的顺序不能保证。我认为它是特定于实现的,并且通常基于键散列的顺序。如果要维护特定订单,应使用:
import numpy as np
from collections import OrderedDict
a1 = [1,2,3,4,5,6,7,8,9]
b1 = ['a','b','c','d','e','f','g','h','i']
c1 = ['A','B','C','D','E','F','G','H','I']
array2 = np.array([a1,b1,c1]).tolist()
keys = ['name', 'type','description','logo']
print OrderedDict(zip(keys, zip(*array2)))
# prints: OrderedDict([('name', ('1', 'a', 'A')), ('type', ('2', 'b', 'B')), ('description', ('3', 'c', 'C')), ('logo', ('4', 'd', 'D'))])
您可以添加您想要的输出外观吗?现在我不清楚。你得到了4个项目,因为
键包含4个元素dict
不保证订单,用户OrderDict
因此是的,谢谢,收到了