我有以下代碼片段。我基本上試圖獲得列表中的特定字符串的索引/迭代器(除了知道它是否存在)。這是可能的,或者我應該使用循環與一個,如果?迭代器值在'any()'調用後沒有保留
桶= [ 「阿爾法」, 「測試」, 「伽馬」]
含量= 「」
如果任何(內容== 「試用」 用於桶的內容): 打印內容
有「內容」作爲全球或者乾脆內循環沒有有所作爲
我有以下代碼片段。我基本上試圖獲得列表中的特定字符串的索引/迭代器(除了知道它是否存在)。這是可能的,或者我應該使用循環與一個,如果?迭代器值在'any()'調用後沒有保留
桶= [ 「阿爾法」, 「測試」, 「伽馬」]
含量= 「」
如果任何(內容== 「試用」 用於桶的內容): 打印內容
有「內容」作爲全球或者乾脆內循環沒有有所作爲
生成器表達式不泄漏迭代器。在2.x列表中理解,但不在3.x中。
您正在創建一個發電機爲any
通話中進行搜索。你已經離開的發電機是暫時的。也就是說,它只存在於any
的調用中,因此您將無法看到它。如果你想它出來的索引位置,然後執行此操作:
item = [x for x in enumerate(bucket) if x[1] == "beta"]
它生成所有匹配的項目列表加索引。
這不是一個列表理解。 – 2011-05-18 22:09:49
很好,你說得對。 – wheaties 2011-05-18 22:10:55
不知道我是否正確理解你。你在尋找'bucket.index(「beta」)嗎? – 2011-05-18 22:11:27
@Sven那正是我所需要的。謝謝! Duh .. – pynewbie 2011-05-18 22:17:16