如何清理这个2D列表:
sales1=[[' Andy Turner ',' $62 ', ' n 25/12/21], ['Kelvin Obgona ', ' $120 ', ' n 01/03/22 ']]
为:
[['Andy Turner','$62','25/12/21], ['Kelvin Obgona', '$120', '01/03/22']]
我代码:
sales_clean=[]
for t1 in list1:
sales_clean.append(sales1.strip())
AttributeError: 'list'对象没有属性'strip'
谢谢你的帮助。
您需要将str.strip
应用于列表的每个项目。您可以使用列表推导式。
sales_clean = [[s.strip() for s in m] for m in sales1]
这相当于下面只使用循环的语句。
sales_clean=[]
for t1 in sales1:
t_clean = []
for t2 in t1:
t_clean.append(t2.strip())
sales_clean.append(t_clean)
sales1=[[' Andy Turner ',' $62 ', ' n 25/12/21'], ['Kelvin Obgona ', ' $120 ', ' n 01/03/22 ']]
#Strip spaces from 2D array the left and right of the string
for i in range(len(sales1)):
for j in range(len(sales1[i])):
sales1[i][j]=sales1[i][j].strip()
print(sales1)
或更快
sales2=[[x.strip() for x in y] for y in sales1]