0

我想了解为什么这是一个有效的语法:

common = (set(classes['Biology']) & set(classes['Math']) & set(classes['PE']) & set(classes['Social Sciences']) & set(classes['Chemistry']))

但不是这个:

common = set(classes['Biology']) & set(classes['Math']) & set(classes['PE'] & set(classes['Social Sciences']) & set(classes['Chemistry'])

TL;博士

为什么需要将所有工会放入普通大括号中

()

谢谢你。

4

1 回答 1

0

第二个无效,因为它缺少set(classes['PE']. 你不需要外括号,你只需要正确关闭内括号。

旁注:性能方面,您可能只需将第一项显式转换为 a set,然后使用intersection( 它采用任意数量的可迭代参数) 在单个 Python 函数中完成其余工作,就可以节省一点称呼:

common = set(classes['Biology']).intersection(classes['Math'], classes['PE'], classes['Social Sciences'], classes['Chemistry'])
于 2018-05-31T13:10:22.493 回答