我有一个像
这样的清单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)
答案 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]]