0
所以,我需要從我的代碼過濾空間,所以我這樣做:爲什麼我的過濾功能不起作用?
def diagramas(mens):
print(filter(lambda x: x != ' ', mens))
我用「OLA佩德羅」的男子,但它返回:
<filter object at 0x03DC38F0>
而不是「olapedro」 。爲什麼它不起作用?
所以,我需要從我的代碼過濾空間,所以我這樣做:爲什麼我的過濾功能不起作用?
def diagramas(mens):
print(filter(lambda x: x != ' ', mens))
我用「OLA佩德羅」的男子,但它返回:
<filter object at 0x03DC38F0>
而不是「olapedro」 。爲什麼它不起作用?
filter
用於在傳遞一個字符串時返回一個字符串,在Python 2中傳遞一個列表時的一個列表等......這很有用。
但是,這已經改變了python 3.現在它返回一個迭代器,它也有一些優點,但不是在你目前的情況。
2級可能的解決方法:
1:從迭代
print("".join(filter(lambda x: x != ' ', mens)))
2重建的字符串:使用gencomp代替過濾器的(更lisible:沒有過濾器,沒有拉姆達)
print("".join(x for x in mens if x!=' '))