gpt4 book ai didi

python - 在 Python 中垂直合并列表列表的两列

转载 作者:行者123 更新时间:2023-12-05 03:22:13 26 4
gpt4 key购买 nike

输入如下所示 (my_list)。这实际上是十六进制数的列表。每对元素 0-1、2-3、4-5 形成 16 位有符号整数,因此我需要合并每对元素。

my_list  = [['61', '00', '7B', '01', 'F2', '1F'],
['9A', 'FE', '8C', '02', '01', '22'],
['F4', 'FD', '60', '04', '35', '24']]

我想要得到的输出是

aX =  ['6100', '9AFE', 'F4FD']
aY = ['7B01', '8C02', '6004']
aZ = ['F21F', '0122', '3524']

现在我正在按照以下方式进行操作。它有效,但问题是随着 my_list 的行长度增加,我必须继续添加更多代码行。有没有更好的办法?

aX = [ x[0] + x[1]   for x in  my_list ]
aY = [ x[2] + x[3] for x in my_list ]
aZ = [ x[4] + x[5] for x in my_list ]

感谢您的意见!

最佳答案

您可以像下面这样组合mapzip:

>>> list(zip(*map(lambda x: [''.join(x[i:i+2]) for i in range(0, len(x), 2)], my_list)))
[('6100', '9AFE', 'F4FD'), ('7B01', '8C02', '6004'), ('F21F', '0122', '3524')]

或者作为嵌套列表:

>>> list(map(list, zip(*map(lambda x: [''.join(x[i:i+2]) for i in range(0, len(x), 2)], my_list))))
[['6100', '9AFE', 'F4FD'], ['7B01', '8C02', '6004'], ['F21F', '0122', '3524']]

关于python - 在 Python 中垂直合并列表列表的两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72769813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com