元组
判断元组最直接的方法:看元素之间是否用逗号隔开。
元组通常用于表示简单的记录或结构。
通常,元组用来储存单个对象,将相关项目打包成一个实体,如下代码所示。
元组就像数据库表中的单行。
s = ('GOOG', 100, 490.1)
s = 'GOOG', 100, 490.1
元组和字符串一样不支持修改
但是可以基于当前元组创建一个新元组。
s = (s[0], 75, s[2])
可以将元组解压成变量,但左右变量的数量要一致。
name, shares, price = s
print('Cost', shares * price)
元组与列表的区别
- 元组最常用于由多个不同类型组成的单个实例。
- 列表通常是不同项目的集合,通常都是同一类型。
record = ('GOOG', 100, 490.1) # 不同的类型的数据
symbols = [ 'GOOG', 'AAPL', 'IBM' ]
字典
字典是键到值的映射。
它有时也称为哈希表或关联数组。
键用作访问值的索引。
s = {
'name': 'GOOG',
'shares': 100,
'price': 490.1
}
字典的常用操作
从字典中获取值。
>>> print(s['name'], s['shares'])
GOOG 100
>>> s['price']
490.10
>>>
添加或修改使用键名分配的值。
>>> s['shares'] = 75
>>> s['date'] = '6/6/2007'
>>>
删除一个值
>>> del s['date']
字典的使用: 当有许多不同的值并且这些值可能被修改或操纵时,字典很有用。
把字典变成一个列表,会得到它的所有键。
>>> list(d)
['name', 'shares', 'price', 'date', 'account']
字典的方法。
keys() # 获取所有的键
items() # 获取 (key, value)元组
get(key, default) # 查找指定键,或提供默认值以防万一
元组传为字典。
dict()
>>> items
dict_items([('name', 'AA'), ('shares', 75), ('price', 32.2), ('date', (6, 11, 2007))])
>>> d = dict(items)
>>> d
{'name': 'AA', 'shares': 75, 'price':32.2, 'date': (6, 11, 2007)}
复合键
几乎任何类型的值都可以用作 Python 中的字典键。
字典键必须是不可变的类型。
例如,元组:
holidays = {
(1, 1) : 'New Years',
(3, 14) : 'Pi day',
(9, 13) : "Programmer's day",
}
集合
集合储存的数据是无序的,每个数据是唯一的。
集合一般用于去重。
names = ['IBM', 'AAPL', 'GOOG', 'IBM', 'GOOG', 'YHOO']
unique = set(names)
集合的相关操作
unique.add('CAT') # Add an item
unique.remove('YHOO') # Remove an item
s1 = { 'a', 'b', 'c'}
s2 = { 'c', 'd' }
s1 | s2 # Set union { 'a', 'b', 'c', 'd' }
s1 & s2 # Set intersection { 'c' }
s1 - s2 # Set difference { 'a', 'b' }
容器
python 中的列表,字典和集合都是容器。
列表:储存数据有序。
字典:储存数据无序。
集合:储存无重复值的数据无序。
再使用中,元组通常是以上容器的子集,见元组与列表的区别。