2011-06-04 146 views
5

类Item有一个成员函数text(),它返回一个字符串列表。 类Dictionary有一个成员函数items(),返回一个Items列表。 dict是Dictionary的一个实例。 我想测试字典中所有项目中所有字符串中的所有字符是否都是ASCII。 我试图Python,迭代列表理解

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

这给了错误消息“的全局名称的“没有定义”。 什么是正确的方法?

回答

5

for子句的顺序需要相反。最里面的循环最后,最外面的循环最先。

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