Python 2.7 Python从列表中删除所有数字
我有一个unicode元素列表,我正试图从中删除所有整数。 我的代码是:Python 2.7 Python从列表中删除所有数字,python-2.7,list,int,Python 2.7,List,Int,我有一个unicode元素列表,我正试图从中删除所有整数。 我的代码是: List = [u'123', u'hello', u'zara', u'45.3', u'pluto'] for el in List: if isinistance(el, int): List.remove(el) 代码不起作用,它给我的列表与u'123'include相同。 我需要的是: List = [ u'hello', u'zara', u'45.3', u'pluto'] 有人能帮我
List = [u'123', u'hello', u'zara', u'45.3', u'pluto']
for el in List:
if isinistance(el, int):
List.remove(el)
代码不起作用,它给我的列表与u'123'include相同。
我需要的是:
List = [ u'hello', u'zara', u'45.3', u'pluto']
有人能帮我吗?您的列表由unicode字符串组成,这些字符串显然不是
int
的实例。您可以尝试在助手函数中将它们转换为int
,并将其用作删除它们/构建新列表的条件
def repr_int(s):
try:
int(s)
return True
except ValueError:
return False
original_list = [u'123', u'hello', u'zara', u'45.3', u'pluto']
list_with_removed_ints = [elem for elem in original_list if not repr_int(elem)]
您的列表由unicode字符串组成,这些字符串显然不是
int
的实例。您可以尝试在助手函数中将它们转换为int
,并将其用作删除它们/构建新列表的条件
def repr_int(s):
try:
int(s)
return True
except ValueError:
return False
original_list = [u'123', u'hello', u'zara', u'45.3', u'pluto']
list_with_removed_ints = [elem for elem in original_list if not repr_int(elem)]
您可以简单地
list\u with\u removed=filter(repr\u int,original\u list)
Yes,当然可以!一些样式指南不鼓励使用这种功能性样式,而是鼓励使用列表理解。因为我确实喜欢Haskell,filter
也是我的选择,但我会尽可能遵守样式指南。你可以简单地list\u with\u removed=filter(repr\u int,original\u list)
是的,当然!一些样式指南不鼓励使用这种功能性样式,而是鼓励使用列表理解。因为我确实喜欢Haskell,filter
也将是我的选择,但我会尽可能地遵循风格指南。