简单说说set类型

简单说说set类型

set也是python里一个重要类型,有时候还是蛮好用的。详细文档和说明可以用help(set) 查看其说明和方法。

下面来点简单的小例子说明把。

>>> x = set('spam')
>>> y = set(['h','a','m'])
>>> x, y
(set(['a', 'p', 's', 'm']), set(['a', 'h', 'm']))

再来些小应用。

>>> x & y # 交集
set(['a', 'm'])

>>> x | y # 并集
set(['a', 'p', 's', 'h', 'm'])

>>> x - y #差集
set(['p', 's'])

记得以前个网友提问怎么去除海量列表里重复元素,用hash来解决也行,只不过感觉在性能上不是很高,用set解决还是很不错的,示例如下:

>>> a = [11,22,33,44,11,22]
>>> b = set(a)
>>> b
set([33, 11, 44, 22])
>>> c = [i for i in b]
>>> c
[33, 11, 44, 22]

很酷把,几行就可以搞定。
这个的确好用。
版主,可以帮忙看下,为啥不能发帖了不?


QUOTE:
原帖由 cc520 于 2009-1-7 16:32 发表
这个的确好用。
版主,可以帮忙看下,为啥不能发帖了不?

你不能发帖?我可以的啊,我也没禁止你发言啊。
论坛测试新功能,发帖前先要搜索。。。


QUOTE:
原帖由 cc520 于 2009-1-7 16:37 发表
论坛测试新功能,发帖前先要搜索。。。

那就先不发了把,呵呵,好像CU是要加新功能了。我在版主区看到。
恩 一直这样的用法 python里还是有很多偏门的用法要自己去发掘的


QUOTE:
原帖由 guijia8427 于 2009-1-7 17:12 发表
恩 一直这样的用法 python里还是有很多偏门的用法要自己去发掘的

希望楼上多多共享些技巧。