试图找到一种整洁的方法来处理python中的换元输入。

问题描述 投票:-1回答:1

输入是一个未知数的排列组合,我想用多个列表来处理每个排列组合。因此,例如,输入是"(1,2,3)(5,3,2)(2,4,1)",我希望它是[[1,2,3],[5,3,2],[2,4,1]]。

有什么想法吗?

python list input integer permutation
1个回答
0
投票

这里有一个单行本,你可以用。

s = "(1,2,3)(5,3,2)(2,4,1)"
s = [list(map(int, x.lstrip('(').rstrip(')').split(','))) for x in s.split(')(')]
print(s)

#Output
[[1, 2, 3], [5, 3, 2], [2, 4, 1]]

首先,我们通过以下方式分割 ')('. 但我们还必须去掉起止括号。我们使用 lstriprstrip 为,。

内在的 split(',') 然后将这些数字分开。然后我们将它们转换为 int 使用 map 并将其包裹在内层的 list.

© www.soinside.com 2019 - 2024. All rights reserved.