python - 与嵌套列表联合/多个for循环

标签 python list dictionary set union

我有这样一本字典:

myDict = {'items':
            [{'names': [{'longName1', 'shortName1'},
                      {'shortName2', 'longName2'}]},
            {'names': [{'longName3', 'shortName3'},
                      {'shortName4', 'longName4'}]}]}

尝试以 Python 方式获取集合中的键(即 shortName)。我有以下声明,但它提示 i 未定义。我做错了什么?

shortNames = set().union(*(j.values() for j in i["names"] for i in myDict["items"]))

预期结果:

set(['shortName1', 'shortName2', 'shortName3', 'shortName4'])

最佳答案

ii in myDict["items"] 定义之前,您正在访问 i["names"]

关于python - 与嵌套列表联合/多个for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58934314/

相关文章:

javascript - 在map方法中获取数组键

c++ - 打印 map 中的所有对

jquery - 检索字典值 jinja

python - 计算列表中子列表的特定索引中值的实例,但每个列表只计算一次

python - 如何防止 AppEngine 内存缓存刷新

python - 由于未知类型名称 'uint64_t',Cythonizing 失败

python - 如何从上一行中减去?

java - 如何将嵌套 Java 集合中的所有项目展平为单个列表?

c++ - 如何使用存储在 c++ 中的 std vector 中的 std::list 迭代器制作复制安全容器?

python - TF*IDF 用于搜索查询