<Thread(Dask-Worker-Threads'-7805-1, started daemon 140437285209856)>
由于某种原因,它将test_dict_comp中的第二个视为无效语法。
答案 0 :(得分:0)
假设目标是用dict
的值来创建test_list_k
的{{1}}配对密钥,则您想要的是test_list_v
(它将删除未配对的密钥),或zip
(这将允许您为未配对的密钥提供填充值)。使用它的语法是:
itertools.zip_longest
或者在这种简单的情况下(无需进行任何过滤或转换,因此不需要理解),您可以直接将结果对的迭代器直接传递给test_dict_comp = {k: v for k, v in zip(test_list_k, test_list_v)}
构造函数:
dict
因为test_dict_comp = dict(zip(test_list_k, test_list_v))
用于布尔测试,所以您的代码中断了,它无法以您尝试的方式组合任意语句片段。解析器尝试解析要在第一个for循环中迭代的值,并且当它到达and
时会感到困惑(因为test_list_k and for
之后必须跟另一个表达式才能产生另一个要如果确定test_list_k and
为真,并且test_list_k
是关键字,而不是for
右侧的合法表达式),则进行真实性测试。