【问题标题】:split long string inside one list to small lists将一个列表中的长字符串拆分为小列表
【发布时间】:2016-10-10 07:20:07
【问题描述】:

如何将这一长串的一个列表拆分为小的多列表,如输出所示? (我的文件有 100 行)

Num=['S', 'I', 'R', 'T', 'S', 'A', 'V', 'P', 'S', 'P', 'C', 'G', 'K', 'Y', 'Y', 'T', 'L', 'N', 'G', 'S', 'K', '\n', ',', 'S', 'T', 'P', 'C', 'T', 'T', 'I', 'N', 'K', 'V', 'K', 'A', 'S', 'G', 'M', 'K', 'A', 'I', 'M', 'M', 'A', '\n']

输出应如下所示:

['S', 'I', 'R', 'T', 'S', 'A', 'V', 'P', 'S', 'P', 'K', 'G', 'K', 'Y', 'Y', 'T', 'L', 'N', 'G', 'S', 'K']

['S', 'T', 'P', 'C', 'T', 'T', 'I', 'N', 'K', 'V', 'K', 'A', 'S', 'G', 'M', 'K', 'A', 'I', 'M', 'M', 'A']

【问题讨论】:

  • 如果您的列表只包含一个字符的字符串,那么将您的字符串保留为string 而不是list 不是更有意义吗?两者都是可迭代的。

标签: python string python-2.7 python-3.x


【解决方案1】:

首先join 元素,strip() 前导空格字符,split 在新行上\n 和逗号,,然后再次将它们映射到列表。

简而言之:

l1, l2 = map(list, "".join(Num).strip().split('\n,'))

现在,l1, l2 分别看:

['S', 'I', 'R', 'T', 'S', 'A', 'V', 'P', 'S', 'P', 'C', 'G', 'K', 'Y', 'Y', 'T', 'L', 'N', 'G', 'S', 'K']

['S', 'T', 'P', 'C', 'T', 'T', 'I', 'N', 'K', 'V', 'K', 'A', 'S', 'G', 'M', 'K', 'A', 'I', 'M', 'M', 'A']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 2018-10-24
    • 2019-04-16
    • 1970-01-01
    • 2021-06-27
    相关资源
    最近更新 更多