我有整数列表,这个列表如何连接以获得具有相同列表但每三个值加入的输出。
lst = [22, 33, 44, 11,33,11]
如何获得
lstOutput = [223344, 113311]
字符串一切都清楚,我试试:
[lst[i:i + 3] for i in range(0, len(b), lst)]
对不起英语
答案 0 :(得分:2)
您可以使用map(str,lst[i:i+3])
将int元素转换为字符串,然后使用join
函数将它们连接起来:
>>> [''.join(map(str,lst[i:i+3])) for i in range(0,len(lst),3)]
['223344', '113311']
如果你想要int
值,请使用:
>>> l=[lst[i:i+3] for i in range(0,len(lst),3)]
>>> [sum(j*(100**i) for i,j in enumerate(i[::-1])) for i in l]
[223344, 113311]
因为l
等于[[22, 33, 44], [11, 33, 11]]
并且您需要多次使用100来获取索引的权力,您需要将拆分列表反转[::-1]
并将每个列表转换为其反转状态[44, 33, 22]
然后添加它们。