从Python列表项中移除单引号

7
实际上是一个非常简单的问题: 我有一个Python列表,如下所示:
['1','2','3','4']

我想知道如何去掉这些单引号?

我想得到[1,2,3,4]


你想把字符串列表转换成整数列表吗?只需使用[int(x) for x in your_list]即可实现。 - Facundo Casco
可能是重复的问题:如何将列表中的字符串数字转换为整数? - Felix Kling
4
请注意,这不仅仅是去除引号,而是将字符串列表更改为整数列表。如果您对此区别不清楚,应该阅读有关Python类型系统的相关内容。 - Eric Wilson
1
你的列表中没有引号,那些都是字符串。要求从列表中删除引号就像要求从 math.pi 的值中删除小数点一样荒谬。这些引号存在是为了帮助显示数据值的表示。 - PaulMcG
3个回答

23

目前您的列表中所有的值都是字符串,而您想将它们转换为整数,以下是两种最直接的方法:

map(int, your_list)

[int(value) for value in your_list]
请参考map()列表推导文档以获取更多信息。
如果您想保留列表中的项目作为字符串,但不显示单引号,请使用以下代码:
print('[' + ', '.join(your_list) + ']')

1
赞赏你展示了如何打印而不是将列表元素转换为整数。 - Martin Burch

5

如果这是一个真实的 Python 列表,而且你想要的是整数而不是字符串,那么你可以使用以下代码:

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

或者

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

4

试试这个

[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']]

在我看来不安全,当它应该抛出异常时却没有抛出。 - Xavier Combelle
3
如果列表中包含字符串'a'、'b'、'c'、'd',该怎么办? - XciA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接