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

python – 拆分列表中的每个项目

发布时间:2020-12-20 11:33:38 所属栏目:Python 来源:网络整理
导读:是否可以在列表中拆分项目并动态生成新列表? 基本上我得到一个ushort的列表,并希望生成一个ubytes列表: input = [1036,1055,26,29787,9,4206,41,7,1036,8302,130,4,268,4206]out = [4,12,31,116,91,16,110,32,1,110] 我可以很容易地生成元组列表,但是如何
是否可以在列表中拆分项目并动态生成新列表?
基本上我得到一个ushort的列表,并希望生成一个ubytes列表:

input = [1036,1055,26,29787,9,4206,41,7,1036,8302,130,4,268,4206]
out = [4,12,31,116,91,16,110,32,1,110]

我可以很容易地生成元组列表,但是如何删除元组并将它们合并到一个大列表中呢?

out_temp = [(x>>8,x&0xFF) for x in input]

解决方法

你可以这样使用列表理解:

>>> in_ = [1036,4206]
>>> [y for x in in_ for y in (x >> 8,x & 0xff)]
[4,110]

或使用itertools.chain.from_iterable

>>> import itertools
>>> list(itertools.chain.from_iterable((x >> 8,x & 0xff) for x in in_))
[4,110]

顺便说一句,不要使用输入作为变量名.它阴影内置功能input.

(编辑:李大同)

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

    推荐文章
      热点阅读