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"
人的一生像是一把算盘,似乎无时不在计算着什么,却是被别人拨弄的一生
浙公网安备 33010602011771号