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

list comprehension合并python中的各种列表

发布时间:2020-12-20 11:17:22 所属栏目:Python 来源:网络整理
导读:我需要绘制很多数据样本,每个样本都存储在一个整数列表中.我想从很多连接列表中创建一个列表,以便用枚举(big_list)绘制它以获得固定偏移x坐标. 我目前的代码是: biglist = []for n in xrange(number_of_lists): biglist.extend(recordings[n][chosen_channe
我需要绘制很多数据样本,每个样本都存储在一个整数列表中.我想从很多连接列表中创建一个列表,以便用枚举(big_list)绘制它以获得固定偏移x坐标.
我目前的代码是:

biglist = []
for n in xrange(number_of_lists):
    biglist.extend(recordings[n][chosen_channel])
for x,y in enumerate(biglist):
    print x,y

注意:number_of_lists和chosen_channel是在别处定义的整数参数,例如print x,y(实际上还有其他语句来绘制点.

我的问题是:
是否有更好的方法,例如,列表推导或其他操作,以实现相同的结果(合并列表)没有循环和预先声明的空列表?

谢谢

解决方法

import itertools
for x,y in enumerate(itertools.chain(*(recordings[n][chosen_channel] for n in xrange(number_of_lists))):
    print x,y

您可以将itertools.chain()视为管理各个列表上的迭代器.它会记住列表中的列表以及列表中的位置.这可以节省您创建大列表所需的所有内存.

(编辑:李大同)

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

    推荐文章
      热点阅读