课程
/后端开发
/Python
/python进阶
问个问题:如果 a=[' 123','fuck','cvm ','',' '],如何实现a=['123','fuck','cvm'],因为strip()是对字符串操作,现在是一个list
2017-05-11
源自:python进阶 2-6
正在回答
def lst_strip(lst): L=[] for v in lst: v = str.strip(v) if v: L.append(v) return L
慕丝0462366 提问者
qq_我就是这么_04010779 回复 慕丝0462366 提问者
list_b=[x.strip() for x in list_a]
这样就可以将list_a内的元素遍历一遍去除空格,重新组成list_b
a = map(str.strip,filter(lambda x:x and x.strip() ,a))
用filter和map可以实现:
#先定义一个判断不是空字符串的方法
def not_empty(s):
return s and s.strip()
a = filter(not_empty,a)
a = map(str.strip,a)
就可以了,也可以放在一行写
a = map(str.strip,filter(not_empty,a))
for index,val in enumerate(a):
if val.strip(''):
a.pop(index)
写个for循环,把每个strip一下,输出的值组成一个list
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计