创建n个不同集的列表

时间:2014-10-19 09:14:48

标签: python python-2.7

P / S:这不重复,我自己已经有了一个答案,它在复制的解决方案中找到答案,我需要的是最短的表达式。

l=[set()]*passwordLen
l[0].add(1)
print l

将给出结果

[set([1]), set([1]), set([1]), set([1]), set([1]), set([1])]

但我需要

[set([1]), set(), set(), set(), set(), set()]

创建可以实现此目标的集合列表的最短表达式是什么?

我能想到的是

l=[set() for _ in xrange(passwordLen)]
l[0].add(1)
print l

1 个答案:

答案 0 :(得分:1)

我不知道这是否是最短的,但它比你的短:

l=map(set,[[]]*passwordLen)

实施例

>>> l[0].add(1)
>>> print l
[set([1]), set(), set(), set(), set(), set()]