【发布时间】:2017-06-14 22:20:22
【问题描述】:
我有一个如下形式的列表:
full_list = [1, 2, 5, "string", False, True]
我想返回一个仅包含非数字值的列表,如下所示:
new_list = ["string", False, True]
我最初的想法是使用 isdigit() 方法,但这仅适用于字符串。我可以将列表中的每个项目转换为字符串,然后调用 isdigit(),但是
new_list = [i for i in full_list if not str(i).isdigit()]
感觉像是一个冗长的解决方法。该解决方案发布了here 排序工作,但将从最终列表中删除布尔值。有没有更优雅/更简单的方法来实现这一点?
【问题讨论】:
-
你可以切掉前三个值:
full_list[3:] == ["string", False, True] -
嘿#Peter 他不知道数组,他只是给我们一个例子。这段数据在程序中将是动态的(据我了解)。
-
@user5676973 是正确的。
标签: python string list boolean unique