【问题标题】:How to remove the single quotation mark from a list in Python如何从Python中的列表中删除单引号
【发布时间】:2018-04-27 06:30:35
【问题描述】:

我正在尝试从此列表中删除单引号:

list = ['amazed, 10']

并将其转换为

list = ['amazed', 10]

我使用了list= [x.strip('') for x in list],但它不起作用。

有解决办法吗?

提前致谢!

【问题讨论】:

  • 您不是在“删除引号”,而是将字符串转换为字符串和数字。您不能从此字符串中删除引号,因为它不包含任何内容。
  • 不要使用list 作为变量名,它会影响list 类型

标签: python string list integer quotations


【解决方案1】:

您需要split 而不是strip,因为您的列表包含一个字符串'amazed, 10',该字符串预计会被分成两个项目 - 'amazed'10

lst = ['amazed, 10']
lst = [int(i) if i.isdigit() else i for i in lst[0].split(', ')]
print(lst)

输出:

['amazed', 10]

【讨论】:

    【解决方案2】:

    你可以试试:

    >>> l = ['amazed, 10']
    >>> l = l[0].split(", ")
    >>> l
    ['amazed', ' 10']
    

    【讨论】:

      【解决方案3】:

      由于它是列表中的单个项目,您可以使用 split() 方法拆分字符串。

      list=list[0].split(', ')
      

      它将给出两个单独的字符串。

      【讨论】:

        【解决方案4】:

        首先,您需要将列表拆分为两个元素。接下来,去除空格,然后将第二个元素(数字字符串)转换为数字(我已将其转换为整数,但您可以转换为浮点数或其他)。

        ll = ['amazed, 10']
        ll = ll[0].split(",")
        ll[1] = int(ll[1].strip())
        

        【讨论】:

          【解决方案5】:

          试试:

          lst = ['amazed, 10']
          
          lst = [int(i) if i.isdigit() else i for i in lst[0].replace(',', '').split()]
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-04-28
            • 2012-01-15
            • 2020-04-05
            • 1970-01-01
            • 2022-01-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多