>我有一个列表,比如
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)
你可以像这样滑动它:
法典:
[[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]]
为了好玩(以及证明一种完全不同的方法(:
>>> [[sum(i * 10**(len(t) - k - 1) for k, i in enumerate(t))] for t in A]
[[123], [345], [357]]
将 map 与列表理解一起使用:
[[int(''.join(map(str, x)))] for x in A]
# [[123], [345], [357]]