如何在元组列表中连接元组内的元素?

时间:2018-05-28 14:33:06

标签: python list-comprehension

我有一个像

这样的清单
A = [(1, 2, 3), (3, 4, 5), (3, 5, 7)] 

我想把它变成

A = [[123], [345], [357]]

有没有办法做到这一点?

我的元组上方列表来自排列函数,所以也许你可以建议我改变代码中的内容

def converter(N):
    y = list(str(N))
    t = [int(x) for x in y]
    f = list(itertools.permutations(t))
    return f

r = converter(345)
print(r)

3 个答案:

答案 0 :(得分:3)

你可以这样调高:

代码:

[[int(''.join(str(i) for i in x))] for x in a]

将整数位转换为str,然后在转换回整数之前将它们连接起来。

测试代码:

a = [(1, 2, 3), (3, 4, 5), (3, 5, 7)]
print([[int(''.join(str(i) for i in x))] for x in a])

结果:

[[123], [345], [357]]

答案 1 :(得分:1)

为了好玩(以及证明一种截然不同的方法):

>>> [[sum(i * 10**(len(t) - k - 1) for k, i in enumerate(t))] for t in A]
[[123], [345], [357]]

答案 2 :(得分:0)

使用带有列表理解的地图:

[[int(''.join(map(str, x)))] for x in A]
# [[123], [345], [357]]