【问题标题】:Trying to find a neat way to process permutation input in python试图找到一种巧妙的方法来处理python中的排列输入
【发布时间】:2020-09-22 04:26:13
【问题描述】:

输入是未知数量的排列,我想在每个排列的多个列表中处理它。例如,输入是“(1,2,3)(5,3,2)(2,4,1)”,我希望它为[[1,2,3],[5,3,2] ,[2,4,1]]

有什么想法吗?

【问题讨论】:

  • 拆分)(?你试过什么?
  • 所以你收到的是一个元组列表还是一个字符串?请分享一些代码来代表您的问题,因为它现在还不够清楚。

标签: python list input integer permutation


【解决方案1】:

这是您可以使用的一种衬里。

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(',') 然后分隔数字。然后我们使用map 将它们转换为int 并将它们包装在内部list 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    相关资源
    最近更新 更多