【发布时间】:2009-09-28 11:24:59
【问题描述】:
你们好,codeboys 和 codegirls!
我遇到了一个看似简单的解决方案的简单问题。但作为一名 Python 新手,我觉得在某个地方有更好的方法。
假设您有一个混合字符串列表。麻袋中有两种基本类型的字符串 - 一种带有“=”(a=potato)和一种没有(Lady Jane)。您需要将它们分类为两个列表。
显而易见的方法是:
for arg in arguments:
if '=' in arg:
equal.append(arg)
else:
plain.append(arg)
还有其他更优雅的方法吗?比如:
equal = [arg for arg in arguments if '=' in arg]
但是要排序到多个列表中?
如果您有不止一种类型的数据怎么办?
【问题讨论】:
-
我认为您的明显方法非常好,并且比迄今为止建议的许多答案更具可读性!
-
确实,我发现列表推导是 python 最优雅的特性之一,我在编写 C++ 时一直渴望它!其中 2 个比任何一个答案都好