如何从列表中删除某些字符(Python 2.7)?

时间:2016-06-05 11:32:50

标签: python string list replace strip

我有一个列表,其中每个元素都是:

['a ',' b ',' c ',' d\n ']

我想操纵它,以便每个元素变为:

['a','b','c','d']

我认为空间不重要,但出于某种原因,我似乎无法从第4个元素的末尾删除\ n。我尝试过转换为字符串并使用以下方法将其删除:

str.split('\n')

没有返回错误,但它没有对列表做任何事情,它最后仍然有\ n。

我也试过了:

d.replace('\n','')

但这只会返回一个错误。

这显然是一个简单的问题,但我是Python的初学者,所以任何帮助都会受到赞赏,谢谢。

编辑:

似乎我有一个数组列表(我认为)所以我认为列表[0],列表[1]等是他们自己的数组吗?这是否意味着我可以在列表中使用for循环来从每个中删除\ n?

3 个答案:

答案 0 :(得分:3)

>>> my_array = ['a ',' b ',' c ',' d\n ']
>>> my_array = [c.strip() for c in my_array]
>>> my_array
['a', 'b', 'c', 'd']

如果您有一个数组列表,那么您可以执行以下行:

>>> list_of_arrays = [['a', 'b', 'c', 'd'], ['a ', ' b ', ' c ', ' d\n ']]
>>> new_list = [[c.strip() for c in array] for array in list_of_arrays]
>>> new_list
[['a', 'b', 'c', 'd'], ['a', 'b', 'c', 'd']]

答案 1 :(得分:1)

试试这个 -

arr = ['a ',' b ',' c ',' d\n ']

arr = [s.strip() for s in arr]

答案 2 :(得分:0)

一个非常简单的答案是加入你的列表,剥离nextline charcter并拆分以获得一个新列表:

Newlist ='' .join(myList).strip()。split()

您的新名单现在是:

[' a',' b',' c',' d']