Doğru olsun: Örneğin: Söyleyecek isterler basit generator expression ile birlikte
if any('apple' in code for code in CODES):
...
, bu görevi yapar. Jeneratör ifadesi her tuple alır ve 'apple'
içeriyorsa True
verir. any()
daha sonra True
(aksi halde False
) döndürdüğü ilk öğe olduğunda True
değerini döndürür. Bu, istediğiniz şeyi yapar. Ayrıca, içeriyorsa, güzel bir şekilde - okur. inşa,
cache = set(itertools.chain.from_iterable(CODES)))
Doğal:
Eğer o zaman çok hızlı bir şekilde bunu yapmak için izin vermek için tüm değerleri bir dizi yapım değerinde olabilir, bu kez büyük bir sayı yapıyor ve performansına ihtiyacınız varsa Bu yavaş ve bellek kullanacak, bu yüzden çok fazla performansa gerek olmadığı ve çok fazla üyelik kontrolü yapamayacağınız için iyi bir fikir olmaz.
Ya sadece varlığı kontrol etmek yerine - ikinci değeri almak istedim? Bu durumda "reddelicious"? –
Bu durumda, yanlış veri yapısını kullanıyorsunuz, bir "dict" kullanıyorsunuz, daha sonra sadece "CODES [" apple "]' yapınız (ve orada değilse 'KeyError' değerini yakalayınız). –
@ 9-bit'leri sadece 'dic = dict (CODES)' kullanın, bu bir sözlük döndürecektir.Ve daha sonra 'dic ['apple']' '' reddelicious'' ile sonuçlanacaktır. –