2011-06-04 23 views
5

Öğe, dizelerin listesini döndüren bir üye işlevi text() öğesine sahiptir. Sözlük sınıfı, Öğelerin listesini döndüren bir üye işlev öğelerine() sahiptir. dict, bir Sözlük örneğidir. Dict'teki tüm öğelerin tüm dizelerindeki tüm karakterlerin ASCII olup olmadığını test etmek istiyorum. BenPython, yinelenen liste anlaşması

all(ord(ch) < 128 for ch in s for s in item.text() for item in dict.items()) 

çalıştı Bu hata mesajı verir "Küresel adı 's' tanımlı değil". Doğru yol nedir?

cevap

5

for maddelerinin sırası, başka yoldan olmalıdır. En içteki döngü en sonunda gelir, en dışta döngü ilk gelir.

all(ord(ch) < 128 for item in dict.items() for s in item.text() for ch in s)