我有一个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'相同的列表。 我需要的是:
List = [ u'hello', u'zara', u'45.3', u'pluto']
有人可以帮我吗?
答案 0 :(得分:2)
您列出的是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)]