为了账号安全,请及时绑定邮箱和手机立即绑定

嵌套列表转换为python中的一个列表

嵌套列表转换为python中的一个列表

炎炎设计 2021-09-25 22:00:39
[[1755], [1126], [1098], [1618], [1618], [852], [1427], [1044], [852], [1755], [1718], [819], [1323], [1961], [1113], [1126], [1413], [1658], [1718], [1718], [1035], [1618], [1618]]这是嵌套列表,每个项目都是一个列表,我想制作这个列表,如下所示:[1755, 1126, 1098, 1618, 1618,852, 1427, 1044, 852, 1755, 1718, 819, 1323, 1961, 1113, 1126, 1413, 1658, 1718, 1718, 1035, 1618, 1618]
查看完整描述

3 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

对于最一般的情况,这个话题已经有了所有的答案。


在这种非常特殊的情况下,您可以使用x, = [foo]习语解包长度为 1 的迭代。


>>> lst = [[1755], [1126], [1098], [1618]]

>>> [x for x, in lst]                                                              

[1755, 1126, 1098, 1618]


查看完整回答
反对 回复 2021-09-25
?
千万里不及你

TA贡献1784条经验 获得超9个赞

您可以使用itertools.chain(*iterables):


In [316]: from itertools import chain

In [315]: l = [[1755], [1126], [1098], [1618], [1618], [852], [1427], [1044], [852], [1755], [1718], [819], [1323], [1961], [1113], [1126], [14

     ...: 13], [1658], [1718], [1718], [1035], [1618], [1618]]


In [317]: list(chain(*l))

Out[317]: 

[1755,

 1126,

 1098,

 1618,

 1618,

 852,

 1427,

 1044,

 852,

 1755,

 1718,

 819,

 1323,

 1961,

 1113,

 1126,

 1413,

 1658,

 1718,

 1718,

 1035,

 1618,

 1618]


查看完整回答
反对 回复 2021-09-25
?
HUWWW

TA贡献1874条经验 获得超12个赞

如果每个子列表只有一个元素,这是一种解决方案:


tmp = []

for sublist in list:

  tmp.append(sublist[0])

另外一个选项:


flat_list = [sublist[0] for sublist in list]

如果此解决方案适合您的需求,请毫不犹豫地投票 + 关闭。


查看完整回答
反对 回复 2021-09-25
  • 3 回答
  • 0 关注
  • 236 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号