6.基本数据类型集合

       Python中的set和java中的集合不是一个概念,这是翻译的问题,Python中的集合是指无序的、不重复的元素集,类似数学中的集合概念,可对其进行交、并、差、补等逻辑运算。

       常见集合的语法为:s=set([‘a’,’b’,’c’])。不过set在Python3.0中发生了较大的变化,创建一个集合的语法变成了:S={1,2,3},用花括号的方法,与后边要提到的dict类似。 如果在set中传入重复元素,集合会自动将其合并。这个特性非常有用,比如去除列表里大量的重复的元素,用set解决效率很高。示例如下:

#-*-coding:utf-8-*-
import sys
def Main():
    a=[133,224,2344,2243,22342,224,133,133,989]
    b=set(a)
    print b
if __name__=="__main__":
    Main()

另一个例子,找出两个list里面相同的元素(集合求交,其它类推),代码如下:

#-*-coding:utf-8-*-
import sys
def Main():
    a=[133,224,2344,2243,22342,224,133,133,989]
    b=set(a)
    print b
    a=["11","22","33"]
    b=["11","33"]
    c=set(a)&set(b)
    print c
if __name__=="__main__":
    Main()

想想你如果自已实现这个算法会怎么写?然后可以找两个大一点的列表,比比和set实现的效率,你就会有体会了,在以后的程序中多用set吧。