将具有重复值的列表输入到具有特定键的字典的值中

时间:2017-03-30 17:28:25

标签: python python-2.7 list dictionary

我需要创建一个字典dict,其中每个项目都有一个从key列表中获取的密钥keylist和一个包含valuelist的值word列表wordlist重复n次 我已经有办法获得keylist,wordlist,n

我的表格中已有字典: (key,word):n

如果输入是

  • key =“A”
  • word =“确定”
  • n = 3

因此,我想要的字典结果的形式是:

{(key):[word*nword的每个实例都是一个单独的列表条目)]}

我想要的示例中的结果字典dict将是:

{("A"):["OK","OK","OK"]}

1 个答案:

答案 0 :(得分:1)

您可以使用词典理解:

dic = {('A', 'OK'): 3, ('B', 'NOT OK'): 2}
out = {key: [word]*n for ((key, word), n) in dic.iteritems()}
# {'A': ['OK', 'OK', 'OK'], 'B': ['NOT OK', 'NOT OK']}

其中dic是您的(key, word): n字典。

如果你想保持与键相同的元组,你可以这样做:

out = {(key, word): [word]*n for ((key, word), n) in dic.iteritems()}
# {('A', 'OK'): ['OK', 'OK', 'OK'], ('B', 'NOT OK'): ['NOT OK', 'NOT OK']}