Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有以下循环^
i = 0 for var in vars: if var[ "ID" ] != 0 and var[ "ID" ] & 1: print i, var[ "ID" ] i += 1
我可以使用enumerate这个循环而不是计数器i吗?我如何设置枚举的增加,这取决于这个条件:if var[ "ID" ] != 0 and var[ "ID" ] & 1:
enumerate
i
if var[ "ID" ] != 0 and var[ "ID" ] & 1:
您可以使用filter:
filter
>>> vs = [{'ID': 1}, {'ID': 4}] >>> for i, v in enumerate(filter(lambda x: x['ID'] & 1, vs)): ... print i, v ... 0 {'ID': 1}
不,我认为您不能使用它enumerate来简化此代码(首先要进行细化vars,因此这enumerate仅适用于符合条件的元素)。
vars
老实说,我认为代码非常简单。