请解释这段代码,这里是python的初学者

时间:2018-04-04 19:17:00

标签: python python-2.7

我用long for循环并在set中添加元素解决了这个问题。作为一个初学者,我很难理解基本上写在这个片段中的内容。另外请解释一下什么键基本上做了。在这个我们必须打印排序两组对称差的输出。

I / P:

4 (Integer representing Length of first set )
2 4 5 9 (First set )
4 (Integer representing Length of second set )
2 4 11 12 (Second set )

O / P

5
9
11
12

解决方案:

a,b = [set(raw_input().split()) for _ in range(4)][1::2]
print '\n'.join(sorted(a^b, key=int))

1 个答案:

答案 0 :(得分:0)

[set(raw_input().split()) for _ in range(4)]

将每行输入转换为字符串集[1::2]选择从第2行和第4行创建的集合。key=int选项表示将对称的字符串中的字符串按整数值排序。否则,'11'将在'2'之前排序。

编辑:通常,key选项表示暂时替换迭代中的每个项目以使用元组(key(item), item)(在新列表中)进行排序,对元组列表进行排序,然后用项目替换每个现在排序的元组。这称为'装饰,排序,不合理'。