str1 = "ABC"
str2 = "DEF"
print({a + ":" + b for a in str1 for b in str2})
print({a : b for a in str1 for b in str2})
输出:
{'B:D', 'C:D', 'C:E', 'A:E', 'A:F', 'B:E', 'A:D', 'B:F', 'C:F'}
{'A': 'F', 'B': 'F', 'C': 'F'}
问题:
为什么这两个print的输出结果不同
第一个实际上是生成串拼接的 最后是一个个字符串形式 而第二个是字典,字典的键是唯一的 对应的值被赋值为最后一次的结果