2011-12-07 114 views
4

其实很简单的问题,单引号: 我有一个Python列表,如:取下蟒蛇列表项

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

只是想知道怎样可以去除那些单引号? 我想[1,2,3,4]

+0

你想打开字符串列表为整数的列表?要做到这一点,只需使用'[int(x)for your_list中的x]' –

+0

[如何将字符串数字转换为列表中的整数](http://stackoverflow.com/questions/818949/how-to -convert-strings-numbers-to-integers-in-a-list) –

+3

请注意,这不仅仅是去掉引号,而是将字符串列表更改为整数列表。如果你不清楚差异,那么你应该阅读关于Python的类型系统。 –

回答

18

在列表中的值目前都是字符串,你希望他们为整数,这里有两个最简单的方法可以做到这一点:

map(int, your_list) 

[int(value) for value in your_list] 

有关更多信息,请参阅关于map()list comprehensions的文档。

如果你想留在你的列表中的项目为字符串,但没有单引号显示出来,你可以使用以下命令:

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

如果'地图'+1。它使事情变得可读。 – Blender

+1

显示如何在不使用引号的情况下进行打印,而不是将列表元素转换为整数。 –

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']] 
+0

这是不安全的IMO它不抛出异常,当它应该 –

+0

如果列表包含字符串'a','b','c','d' – XciA

5

如果这是一个实际的Python列表,并希望int S的不是字符串,你可以:

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

or

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