【问题标题】:Remove single quotes from python list item从 python 列表项中删除单引号
【发布时间】:2012-01-15 05:31:15
【问题描述】:

其实很简单的问题: 我有一个 python 列表,例如:

['1','2','3','4']

只是想知道如何去掉那些单引号? 我要[1,2,3,4]

【问题讨论】:

  • 你想把字符串列表变成整数列表吗?为此,只需使用 [int(x) for x in your_list]
  • 请注意,这不仅会去掉引号,还会将字符串列表更改为整数列表。如果您不清楚其中的区别,那么您应该阅读 Python 的类型系统。
  • 您的列表中没有引号,这些是字符串。要求从列表中删除引号就像要求删除“。”来自 math.pi 的值。引号有助于显示数据值的表示。

标签: python list


【解决方案1】:

目前您列表中的所有值都是字符串,并且您希望它们为整数,这里有两种最直接的方法:

map(int, your_list)

[int(value) for value in your_list]

有关详细信息,请参阅 map()list comprehensions 上的文档。

如果您想将列表中的项目保留为字符串但不使用单引号显示,您可以使用以下内容:

print('[' + ', '.join(your_list) + ']')

【讨论】:

  • 感谢展示如何在没有引号的情况下打印,而不是将列表元素转换为整数。
【解决方案2】:

如果这是一个实际的 python 列表,并且您想要 ints 而不是字符串,您可以:

map(int, ['1','2','3','4'])

[int(x) for x in ['1','2','3','4']]

【讨论】:

    【解决方案3】:

    试试这个

    [int(x) for x in ['1','2','3','4']]
    [1, 2, 3, 4]
    

    为了安全起见,你可以试试

    [int(x) if type(x) is str else None for x in ['1','2','3','4']]
    

    【讨论】:

    • IMO 不安全,它不会在应该抛出异常的时候抛出异常
    • 如果列表包含字符串'a','b','c','d'怎么办
    猜你喜欢
    • 1970-01-01
    • 2020-04-05
    • 2018-04-27
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    相关资源
    最近更新 更多