繁体   English   中英

python 嵌套列表检索和打印特定元素

[英]python nested list retrieve and print specific elements

我有一个看起来像这样的嵌套列表。 它应该代表人们及其可能的联系。 我需要 output 引号中的数字以及他们可能知道的连接(子列表中的数字,冒号后有 2 或 3 以及他们可能的人员列表(子列表中的数字,冒号后有 4 或更多),所以它看起来像这样:

6:Might(1,3,4,7,11)
1:Might(4,6,7) Probably(11)
4:Might(1,3,6,11,12) 

这是我的嵌套列表

    connect_cnt =   [(6, {3: 3, 4: 3, 7: 2, 13: 1, 1: 3, 11: 2, 12: 1}),  
       (1, {7: 3, 5: 1, 9: 2, 11: 4, 10: 1 , 2: 1, 13: 1, 3: 2, 6: 3, 4: 3, 12: 2}),                                     
       (4, {3: 2, 7: 3, 6: 3, 13: 1, 1: 3, 11: 2,12: 3, 5: 1, 2: 1, 9: 1}), 

我不确定如何 go 关于它。 我为初学者尝试了这个,只是想看看我是否能得到计数,但它没有用。

     final_dict 
     for row in range(len(connect_cnt)):
        for col in  range(len(connect_cnt[row])):
           key,value = connect_cnt[row].split(':')
           if value > 1:
               final_dict[key] = value

即使我很冷,也只是得到我需要在嵌套列表中打印的那些。 我是初学者,对嵌套列表没有太多经验。

我不确定您的答案的确切解决方案,但我可以提供一个通用的解决方案,您可以根据自己的需要进行调整。

l = [(1, {2: 3, 4: 5}), (6, {7: 8, 9: 10})]
# to change a value
l[0][1][2] = 100 # now l = [(1, {2: 100, 4: 5}), (6, {7: 8, 9: 10})] 

如果这不适用于您的示例,请提供更多信息,我会尽力提供帮助。

编辑:此代码应将所有键值对提取到另一个字典,因为字典始终是子列表的第二个元素。

final_dict = {}
for i in l:
    for j in i[1].keys():
        final_dict[j] = i[j]

编辑2:我想我现在明白了。 这段代码应该这样做:

for i in l:
    for j in i[1].keys():
        if i[1][j] <= 1:
            del i[1][j]

编辑3:对不起。 让我知道这个是否奏效:

l2 = []
for i in l:
    d = {}
    for j in i[1].keys():
        if i[1][j] > 1:
           d[j] = i[1][j]
    l2.append((i[0], d))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM