【问题标题】:How to split a string into a list in Python? [duplicate]如何在 Python 中将字符串拆分为列表? [复制]
【发布时间】:2018-09-25 21:08:20
【问题描述】:

这里有一个字符串,看起来像 '128,120,119,118,119,118,120,116,116,120,128,121' 我想让它成为这样的列表 [128,120,119,118,119,118,120,116,116,120,128,121]

所以我曾经在 python 中尝试过一个命令 'list' 使它成为一个列表

但是,结果看起来像['1', '2', '8', ',', '1', '2', '0', ',', '1', '1', '9', ',', '1', '1', '8', ',', '1', '1', '9', ',', '1', '1', '8', ',', '1', '2', '0', ',', '1', '1', '6', ',', '1', '1', '6', ',', '1', '2', '0', ',', '1', '2', '8', ',', '1', '2', '1']

虽然字符串数据的类型是list,但是切点错误。

【问题讨论】:

    标签: python


    【解决方案1】:

    使用Split方法

    >>> s = '128,120,119,118,119,118,120,116,116,120,128,121'
    >>> l = s.split(',') # Split with ','
    >>> [int(i) for i in l] # Change str to int type, *Used list comprehensions
    [128, 120, 119, 118, 119, 118, 120, 116, 116, 120, 128, 121]
    >>> 
    

    【讨论】:

    • 感谢您的建议!
    【解决方案2】:

    str.split() 函数将在这里提供帮助。

    nums = '128,120,119,118,119,118,120,116,116,120,128,121'
    num_list = nums.split(',')
    

    参数是你想用什么字符分割。

    附言。如果你想用多个字符分割,比如在一个字符串中,元素用逗号和空格分隔,比如nums = '128, 120, 119, 118, 119, 118, 120, 116, 116, 120, 128, 121',你可以使用nums.split(', ')

    【讨论】:

      【解决方案3】:
      a = '128,120,119,118,119,118,120,116,116,120,128,121'
      
      b = [int(l) for l in a.split(',')]
      

      【讨论】:

        【解决方案4】:

        你可以使用 split 方法。

        my_string = "128,120,119,118,119,118,120,116,116,120,128,121"
        my_list = my_string.split(",")
        
        print my_list
        

        输出:

        ['128','120​​','119','118','119','118','120​​','116','116','120​​','128','121 ']

        【讨论】:

          【解决方案5】:

          添加一个简单的语句:

          d=[int(c) for c in b]

          其中 b=['1','2',....]

          【讨论】:

            【解决方案6】:

            您可以在,的基础上进行拆分,根据需要得到一个列表。

            但请记住,该列表是字符串列表,即数字 128 将是字符串 '128'。

            要得到一个整数列表,你需要把这个字符串列表转换成整数列表。

            您可以如下所示进行操作。

            num_string = '128,120,119,118,119,118,120,116,116,120,128,121'
            
            string_list = num_string.split(',')
            
            int_list = [int(x) for x in string_list]
            
            print(int_list)
            

            【讨论】:

              猜你喜欢
              • 2023-03-28
              • 2022-11-25
              • 1970-01-01
              • 2014-06-26
              • 1970-01-01
              • 2023-02-06
              • 2020-06-20
              • 2013-09-20
              • 1970-01-01
              相关资源
              最近更新 更多