我有一个看起来像这样的表:

Header = Category | US | UK | CA
Row 1 = A | value1 | value1 | value2
Row 2 = B | value2 | value1 | value3
Row 3 = C | value1 | value3 | value1


列“类别”包含唯一值。其余的列包含可以或不能唯一的值。读取方法是:对于A类,美国商品具有此值。

我正在尝试创建一个字典,以便键是类别,值是一个字典,其中国家作为键,值作为值。

Dict = {A : {US : value1, UK : value1, CA : value2}, B :
{US:value2, UK:value1, CA:value3}, C :
{US:value1,UK:value3,CA:value1}}


这是一个很长的列表,所以我需要通过迭代来创建它。我整天都坚持下去。我可以正确创建密钥,但是可以正确使用“字典值”。

是否有捷径可寻?

最佳答案

假设您的表是一个数组数组:

table = [[ 'Category', 'US', 'UK', 'CA' ], [ 'A', 'value1', 'value1',  'value2'], [ 'B', 'value2', 'value1',  'value2']]

dict =  {table[i][0] :  {table[0][j]: table[i][j] for j in range(1,len(table[i]))} for i in range(1,len(table))}
print(dict)


给你:


  {'A':{'US':'value1','UK':'value1','CA':'value2'},'B':{'US':
  'value2','UK':'value1','CA':'value2'}}

关于python - 使用字典值创建字典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57563518/

10-12 21:03