我有一个列表,其中每个元素都是:
['a ',' b ',' c ',' d\n ']
我想操纵它,以便每个元素变为:
['a','b','c','d']
我认为空间不重要,但出于某种原因,我似乎无法从第4个元素的末尾删除\ n。我尝试过转换为字符串并使用以下方法将其删除:
str.split('\n')
没有返回错误,但它没有对列表做任何事情,它最后仍然有\ n。
我也试过了:
d.replace('\n','')
但这只会返回一个错误。
这显然是一个简单的问题,但我是Python的初学者,所以任何帮助都会受到赞赏,谢谢。
编辑:
似乎我有一个数组列表(我认为)所以我认为列表[0],列表[1]等是他们自己的数组吗?这是否意味着我可以在列表中使用for循环来从每个中删除\ n?
答案 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']