使用键列表在字典中创建循环

时间:2017-11-06 10:19:28

标签: python loops dictionary

Dict = {
1: ['5', '1', '1', '1', '2', '1', '3', '1', '1', 'benign'],
2: ['5', '4', '4', '5', '7', '10', '3', '2', '1', 'benign'],
3: ['3', '1', '1', '1', '2', '2', '3', '1', '1', 'benign'],
4: ['6', '8', '8', '1', '3', '4', '3', '7', '1', 'benign'],
5: ['4', '1', '1', '3', '2', '1', '3', '1', '1', 'benign']}

我上面有一本字典。我想做一个像这样的循环

q = [3,5]

for x in q:
    print(datadic[][q])

所以我想要打印每个值的每个第3和第5个元素。我想我必须再制作一个循环,但我找不到如何打印。

3 个答案:

答案 0 :(得分:2)

您可以遍历字典,然后使用列表推导来打印正确的值

my_dict = {
    1:['5', '1', '1', '1', '2', '1', '3', '1', '1', 'benign'],
    2:['5', '4', '4', '5', '7', '10', '3', '2', '1', 'benign'],
    3:['3', '1', '1', '1', '2', '2', '3', '1', '1', 'benign'],
    4:['6', '8', '8', '1', '3', '4', '3', '7', '1', 'benign'],
    5:['4', '1', '1', '3', '2', '1', '3', '1', '1', 'benign'] }

q = [3,5]

for key, value in my_dict.items():
    print ([value[i] for i in q])

给出了:

['1', '1']
['5', '10']
['1', '2']
['1', '4']
['3', '1']

答案 1 :(得分:1)

所以,让我以pythonic的方式重新定义所有内容,使其更具可读性,让我建议您解决问题的方法:

%20

希望它能解决问题

答案 2 :(得分:0)

你可以做到

for key, value in mydict.items():
     for i in q:
         print(value[i])