首页 > 解决方案 > 如何将索引、列表值插入字典值(基于另一个列表的长度)?

问题描述

我有两个清单(l,s)。现在我想创建一个字典,我想在其中将索引值、列表值添加到字典键中,如下所示。

{"value_s": index value of s, "Name_s": value of list s,'value_l': index value of l, 'value_s': value of list s}

假设列表 l 有四个值,而 s 有两个值,则根据列表 l 的长度,应将索引的数量添加到 s。如果 l 的长度为 4,则 for 循环应将 1 到 4 添加到value_svalue_l一次运行时应为 0。为了更好地理解,这可能会令人困惑,请参阅下面的代码和例外输出:-

l = ['a','b','c','d']
s = ['q','w']

以上是两个列表。现在例外的输出是: -

[{'value_s': '0', 'Name_s': 'q', 'value_l': 0, 'Name_l': 'a'}, 
 {'value_s': '0', 'Name_s': 'q', 'value_l': 1, 'Name_l': 'b'}, 
 {'value_s': '0', 'Name_s': 'q', 'value_l': 2, 'Name_l': 'c'}, 
 {'value_s': '0', 'Name_s': 'q', 'value_l': 3, 'Name_l': 'd'}, 
 {'value_s': '1', 'Name_s': 'w', 'value_l': 0, 'Name_l': 'a'}, 
 {'value_s': '1', 'Name_s': 'w', 'value_l': 1, 'Name_l': 'b'}, 
 {'value_s': '1', 'Name_s': 'w', 'value_l': 2, 'Name_l': 'c'}, 
 {'value_s': '1', 'Name_s': 'w', 'value_l': 3, 'Name_l': 'd'}, 
]

尽管我尝试实现插入索引和值的基本部分。我所做的想法不是一个好方法

f=[]
for idx, val in enumerate(s):
  for index, value in  enumerate(l):
    name = {"value_s":idx, "Name_s": val,'value_l':index, 'value_s':value }
    f.append(name)

这给了我: -

[{'value_s': 'a', 'Name_s': 'q', 'value_l': 0}, 
 {'value_s': 'b', 'Name_s': 'q', 'value_l': 1},
 {'value_s': 'c', 'Name_s': 'q', 'value_l': 2},
 {'value_s': 'd', 'Name_s': 'q', 'value_l': 3},
 {'value_s': 'a', 'Name_s': 'w', 'value_l': 0},
 {'value_s': 'b', 'Name_s': 'w', 'value_l': 1},
 {'value_s': 'c', 'Name_s': 'w', 'value_l': 2},
 {'value_s': 'd', 'Name_s': 'w', 'value_l': 3}]

有什么好方法可以实现异常输出吗?

标签: pythonlistdictionaryfor-loopindexing

解决方案


l = ['a','b','c','d']
s = ['q','w']

f=[]
for idx, val in enumerate(l):
  for index, value in  enumerate(s):
    name = { "value_s":index, "Name_s": value, 'value_l':idx, 'name_l':val }
    f.append(name)

print(f)

推荐阅读