Python中集合(sets)与元组(tuples)

一、集合sets

集合是独立不同个体的无序集合。示例如下:

 1 animals = {'cat', 'dog'}
 2 print 'cat' in animals   # 检查元素是否在集合中;输出结果:“ True”
 3 print 'fish' in animals  # 输出结果:"False"
 4 animals.add('fish')      # 向集合中添加一个元素
 5 print 'fish' in animals  # 输出结果: "True"
 6 print len(animals)       # 集合中元素的个数; prints "3"
 7 animals.add('cat')       # 添加已经存在于集合中的元素没有任何作用
 8 print len(animals)       # 输出结果: "3"
 9 animals.remove('cat')    # 从集合中移除一个元素
10 print len(animals)       # Prints "2"

循环Loops:在集合中循环的语法和在列表中一样,但是集合是无序的,所以你在访问集合的元素的时候,不能做关于顺序的假设。

1 animals = {'cat', 'dog', 'fish'}
2 for idx, animal in enumerate(animals):
3     print '#%d: %s' % (idx + 1, animal)
4 # Prints "#1: fish", "#2: dog", "#3: cat"

集合推导Set comprehensions:和字典推导一样,可以很方便地构建集合:

1 from math import sqrt
2 nums = {int(sqrt(x)) for x in range(30)}
3 print nums  # Prints "set([0, 1, 2, 3, 4, 5])"

二、元组Tuples

元组是一个值的有序列表(不可改变)。从很多方面来说,元组和列表都很相似。和列表最重要的不同在于,元组可以在字典中用作键,还可以作为集合的元素,而列表不行。例子如下:

1 d = {(x, x + 1): x for x in range(3)}  # 用元组键创建字典
2 print d  #输出结果:{(0, 1): 0, (1, 2): 1, (2, 3): 2}
3 t = (1, 2)       # 创建一个元组
4 print type(t)    # Prints "<type 'tuple'>"
5 print d[t]       # Prints "1"
6 print d[(1, 2)]  # Prints "1"

 

posted on 2021-03-10 14:16  满船清梦压星河1024  阅读(632)  评论(0)    收藏  举报