python - python嵌套列表检索和打印特定元素
问题描述
我有一个看起来像这样的嵌套列表。它应该代表人们及其可能的联系。我需要输出引号中的数字以及他们可能知道的连接(子列表中的数字,冒号后有 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}),
我不知道该怎么做。我为初学者尝试了这个,只是想看看我是否能得到计数,但它没有用。
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))
推荐阅读
- c# - 无法在运行时为动态变量调用扩展方法
- php - 我在 php 中得到一个未定义的 curl_version() 函数
- apache-spark - 5 分钟 Spark 批处理作业与流式作业
- python - Matplotlib 表格 Y 轴对齐图表
- excel - 您可以在不选中启用所有宏的情况下运行 VBA excel
- python - 当不存在公共记录时,Pandas 合并删除添加的列
- node.js - 如何在节点js+firebird中执行存储过程
- android - 无法使用谷歌登录
- codenameone - Codenameone:如何在 Android 上访问日历
- javascript - 如何创建一个后端来隐藏 Reactjs 应用程序中的 API 密钥?