【问题标题】:String to list in Python要在 Python 中列出的字符串
【发布时间】:2011-07-24 02:34:00
【问题描述】:

我正在尝试拆分字符串:

'QH QD JC KD JS'

进入如下列表:

['QH', 'QD', 'JC', 'KD', 'JS']

我该怎么做呢?

【问题讨论】:

标签: python string list


【解决方案1】:
>>> 'QH QD JC KD JS'.split()
['QH', 'QD', 'JC', 'KD', 'JS']

split:

返回一个单词列表 字符串,使用sep 作为分隔符 细绳。如果给定maxsplit,最多 maxsplit 拆分完成(因此, 列表最多有maxsplit+1 元素)。如果maxsplit 不是 指定,则没有限制 分割数(所有可能的 分裂)。

如果给定sep,则连续 分隔符没有组合在一起 并且被认为是空的 字符串(例如, '1,,2'.split(',') 返回 ['1', '', '2'])。 sep 参数可能包括 多个字符(例如, '1<>2<>3'.split('<>') 返回 ['1', '2', '3'])。拆分空字符串 使用指定的分隔符返回 [''].

如果sep 未指定或为None,则 不同的分裂算法是 应用:连续运行 空白被视为单个 分隔符,结果将包含 开头或结尾没有空字符串 如果字符串有前导或尾随 空白。因此,分裂一个 空字符串或由以下组成的字符串 只是带有None 分隔符的空格 返回[]

例如,' 1 2 3 '.split() 返回['1', '2', '3']' 1 2 3 '.split(None, 1) 返回['1', '2 3 ']

【讨论】:

    【解决方案2】:

    这里简单

    a = [x for x in 'abcdefgh'] #['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
    

    【讨论】:

    • Python 3.5 及更高版本[*'abcdefgh']
    【解决方案3】:

    可能是这样的:

    list('abcdefgh') # ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
    

    【讨论】:

    • 欢迎来到 SO,你能在给定输入“QH QD JC KD JS”上测试你的代码,看看它是否正常工作
    • 除标题外与问题无关,但来自谷歌时有所帮助:)
    【解决方案4】:

    或者为了好玩:

    >>> ast.literal_eval('[%s]'%','.join(map(repr,s.split())))
    ['QH', 'QD', 'JC', 'KD', 'JS']
    >>> 
    

    ast.literal_eval

    【讨论】:

      【解决方案5】:

      您可以使用返回列表的 split() 函数来分隔它们。

      letters = 'QH QD JC KD JS'
      
      letters_list = letters.split()
      

      现在打印 letter_list 的格式如下:

      ['QH', 'QD', 'JC', 'KD', 'JS']
      

      现在您有了一个可以使用的列表,就像您使用任何其他列表一样。例如基于索引访问元素:

      print(letters_list[2])
      

      这将打印列表的第三个元素,即“JC”

      【讨论】:

        猜你喜欢
        • 2020-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-04
        • 1970-01-01
        • 2017-08-31
        • 2014-08-08
        • 1970-01-01
        相关资源
        最近更新 更多