如何从列表中删除某些字符 (Python 2.7)?
How to remove certain characters from lists (Python 2.7)?
我有一个列表,其中每个元素是:
['a ',' b ',' c ',' d\n ']
我想对其进行操作,使每个元素都变成:
['a','b','c','d']
我认为空格无关紧要,但出于某种原因,我似乎无法从第 4 个元素的末尾删除 \n。我试过转换为字符串并使用以下方法删除它:
str.split('\n')
没有返回错误,但它没有对列表做任何事情,它的末尾仍然有 \n。
我也试过:
d.replace('\n','')
但这只是 returns 一个错误。
这显然是一个简单的问题,但我是 Python 的完全初学者,因此我们将不胜感激,谢谢。
编辑:
我似乎有一个数组列表(我认为)所以我认为 list[0]、list[1] 等是它们自己的数组是对的吗?这是否意味着我可以使用 for 循环 for i in list 从每个列表中删除 \n?
试试这个 -
arr = ['a ',' b ',' c ',' d\n ']
arr = [s.strip() for s in arr]
>>> 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']]
一个非常简单的答案是加入您的列表,去掉下一行字符并拆分以获得一个新列表:
Newlist = ''.join(myList).strip().split()
您的新列表现在是:
['a', 'b', 'c', 'd']
我有一个列表,其中每个元素是:
['a ',' b ',' c ',' d\n ']
我想对其进行操作,使每个元素都变成:
['a','b','c','d']
我认为空格无关紧要,但出于某种原因,我似乎无法从第 4 个元素的末尾删除 \n。我试过转换为字符串并使用以下方法删除它:
str.split('\n')
没有返回错误,但它没有对列表做任何事情,它的末尾仍然有 \n。
我也试过:
d.replace('\n','')
但这只是 returns 一个错误。
这显然是一个简单的问题,但我是 Python 的完全初学者,因此我们将不胜感激,谢谢。
编辑:
我似乎有一个数组列表(我认为)所以我认为 list[0]、list[1] 等是它们自己的数组是对的吗?这是否意味着我可以使用 for 循环 for i in list 从每个列表中删除 \n?
试试这个 -
arr = ['a ',' b ',' c ',' d\n ']
arr = [s.strip() for s in arr]
>>> 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']]
一个非常简单的答案是加入您的列表,去掉下一行字符并拆分以获得一个新列表:
Newlist = ''.join(myList).strip().split()
您的新列表现在是:
['a', 'b', 'c', 'd']