我有此代码:
for controller in se8650_list:
for graphic in AS.client.get_children(controller + '/Application/$Graphics'):
if 'Config' not in graphic._name:
airflow_list.append(graphic._path)
se8650_list
只是一个字符串(路径)列表。它将引发异常:
分配前引用的本地变量“控制器”
我做了什么?我可以在第二个for循环中没有controller
吗?
我的真正目标是列表理解版本:
airflow_list = [graphic._path for graphic in AS.client.get_children(controller + '/Application/$Graphics') if 'Config' not in graphic._name for controller in se8650_list]
但是我在那里也出现错误:
名称“控制器”未定义
答案 0 :(得分:0)
您列出的理解能力是错误构建的。 The outer loop has to come first, followed by the inner loop。
但是我真的建议完全不要使用列表理解。在我看来,它确实使循环很难阅读,因此您应该坚持使用该版本而无需理解。
尝试牢记Zen of python
timestamp
或以下语句:D