python - 如何更新 python 列表中的值?

标签 python list dictionary

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

[(5, 0, 1, 8), (5, 0, 1, 14, 15), (5, 0, 1, 14, 16)]

我还有一本字典,格式如下:

{0: [], 1: [], 2: [], 3: [], 4: [], 5: ['CVE-2016-3379'], 7: ['CVE-2016-3646'], 8: [], 9: ['CVE-2015-1769'], 10: ['CVE-2016-3364', 'CVE-2016-7193', 'CVE-2016-3363'], 14: [], 15: ['CVE-2015-1769'], 16: ['CVE-2016-3363', 'CVE-2016-7193', 'CVE-2016-3364'], 17: [], 18: [], 19: [], 20: [], 21: ['CVE-2015-1769'], 22: ['CVE-2016-3363', 'CVE-2016-7193', 'CVE-2016-3364'], 26: [], 27: [], 28: [], 29: [], 30: [], 32: []}

如何使用字典中的值更新第一个列表中的值?

例如,我希望 5 成为 5: ['CVE-2016-3379']0 成为 0 : []

最佳答案

你可以用这个 list comprehension 做到这一点:

res = [tuple('{}: {}'.format(i, my_dict[i]) for i in t) for t in my_list]

输出示例:

>>> my_list = [(5, 0, 1, 8)]
>>> my_dict = {0: [], 1: [], 5: ['CVE-2016-3379'], 8: []}
>>> res = [tuple('{}: {}'.format(i, my_dict[i]) for i in t) for t in my_list]
>>> res
[("5: ['CVE-2016-3379']", '0: []', '1: []', '8: []')]

关于python - 如何更新 python 列表中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47079607/

相关文章:

python - 基于 Spacy token 的匹配, token 之间的 token 数量为 'n'

python - 返回 Pandas 中组/多索引的前 n 个值

python - 提取 python 字典中的第 n 个键?

python - 如何按键的值和键的值的值对字典列表进行排序?

list - Haskell 中的最长公共(public)前缀

python - 使用 .iteritems() 遍历 Python 字典中的键值

python - brew 安装Python/matplotlib不工作: No module named _tkinter

python - 将 Pandas 列添加到稀疏矩阵

python - 将一个字典的键与另一个字典的键与值列表进行比较

python - 给定一个字符串,如何返回 json 路径?