Python,迭代列表理解

时间:2011-06-04 08:49:27

标签: python list-comprehension

类Item有一个成员函数text(),它返回一个字符串列表。 类Dictionary有一个成员函数items(),它返回一个Items列表。 dict是Dictionary的一个实例。 我想测试dict中所有项目中所有字符串中的所有字符是否为ASCII。 我试过了

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

这会给出错误消息“全局名称'未定义”。 什么是正确的方法?

1 个答案:

答案 0 :(得分:5)

for条款的顺序需要反过来。最里面的循环是最后一个,最外面的循环是第一个。

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