加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python:合并字典列表

发布时间:2020-12-16 22:00:52 所属栏目:Python 来源:网络整理
导读:我在字典里面有列表: Number_of_lists=3 #user sets this value,can be any positive integerMy_list={}for j in range(1,Number_of_lists+1): My_list[j]=[(x,y,z)] Number_of_lists是用户设置的变量.如果事先不知道用户设置的值,我想最终得到所有字典列表

我在字典里面有列表:

Number_of_lists=3           #user sets this value,can be any positive integer
My_list={}
for j in range(1,Number_of_lists+1):
  My_list[j]=[(x,y,z)]  

Number_of_lists是用户设置的变量.如果事先不知道用户设置的值,我想最终得到所有字典列表的合并列表.例如,如果Number_of_lists = 3且相应的列表是My_list [1] = [(1,2,3)],My_list [2] = [(4,5,6)],My_list [3] = [(7,8,9)]结果将是:

All_my_lists=My_list[1]+My_list[2]+My_list[3]

哪里:
All_my_lists = [(1,3),(4,6),(7,9)].

所以我要做的就是尽可能自动执行上述过程:

Number_of_lists = n #where n可以是任何正整数

我有点迷失到现在尝试使用迭代器添加列表并始终失败.我是一个Python初学者,这是我的一个爱好,所以如果你回答请解释你的答案中的一切我正在做这个学习,我不是要求你做我的功课:)

编辑

@codebox(看下面的评论)正确地指出我的代码中显示的My_List实际上是字典而不是列表.如果您使用任何代码,请小心.

最佳答案
使用列表理解:

>>> Number_of_lists=3 
>>> My_list={}
>>> for j in range(1,Number_of_lists+1):
      My_list[j]=(j,j,j)
>>> All_my_lists=[My_list[x] for x in My_list]

>>> print(All_my_lists)
[(1,1,1),(2,2),(3,3,3)]

All_my_lists = My_list中的[my_list [x] for x]相当于:

All_my_lists=[]
for key in My_list:
   All_my_lists.append(My_list[key])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读