一.序列:字符串,列表和元组
字符串
1原始字符串操作符(r/R)
在原始字符串里,所有的字符都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。
2.Unicode字符串操作符(u/U)
用来将标准字符串或者是包含Unicode字符的字符串转换成完全的Unicode字符串对象。
3.格式化操作符(%) 只适用于字符串类型
标准类型函数
cmp 根据字符串的ASCALL码值进行比较
序列类型函数
len 返回字符串的字符数
max/min 返回字符串中的最大或最小的字符
enumerate 对字符串的字符进行枚举
字符串类型函数
raw_input() 使用给定字符串提示用户输入并将这个输入返回
字符串的内建函数
。。。。。
列表。。。
元组。。。
二.字典
创建与访问字典
1.大括号创建,把字典赋值给一个变量
用工厂方法dict()创建
用一个很方便的内建方法fromkeys()来创建一个“默认”的字典,字典中的元素具有相同的值。
ddict={ }.fromkeys( ( 'x','y'),-1 ) ==== ddict={'x':-1, 'y':-1}
2.查询一个字典,只需循环查询它的键
for key in dict.keys()
print (key,dict[key])
3.现可以不必使用keys()方法来获得键值列表,可直接使用字典名称
4.要得到字典中的某个值,可以用你所熟悉的字典键值加上中括号来得到
5.用in和not in来判断是否有某个键值
6.可以采用各种类型的数据作为字典的键值
更新与删除字典
1.如果字典中该键已经存在,则字典中该键对应的值将被新值代替,否则将会生成新的键值对,增加新的条目
2.删除 del,clear()删除所有的条目,pop()删除该条目并返回该条目键值对应的内容
3.不能使用dict作为定义字典的标识符,因为dict已经成为python的类型和工厂方法,重载dict会带来麻烦,类似的有dict,list,file,bool,str,input,len.......
操作符和函数
1.字典可以和所有的标准类型操作符工作,但不支持像拼接和重复这样的操作,因为这些操作并没有什么意义
2.d[k]v 通过键“k”,给字典中的某元素赋值为‘v’;
d[k] 查询字典中某个元素的值。
3.cmp()比较
如果字典长度不一样的话,字典中的键值个数越多,这个字典就越大
如果字典长度不一样长的话,那就按字典的键值比较
如果两个字典的长度和他们的键值都相同,则用字典每个相同的键所对应的值进行比较
dict()
如果不提供参数,会生成空字典
如果参数是容器类型对象,可迭代,即一个序列,或是一个迭代器,或是一个支持迭代的对象,那每个可迭代的元素必须成对出现;
如果输入参数是另一个映射对象,比如一个字典对象,调用dict()会从存在的字典里复制内容出来生新的字典,与字典的内建函数copy()生成的字典 对象是一样的。
len()返回所有元素(键值对)的数目
hash() 可以判断某个对象是否可以做一个 字典的值,将一个对象作为参数传递给hash(),会返回这个对象的哈希值,只有这个对象是可哈希的,才可以作为字典的键,如果非可哈希类型作为参数传给hash()方 法,会产生TypeError的错误
update()方法用来将一个字典的内容更新添加到另一个字典中去,字典中原有的键如果与新添加的键重复,那么重复键所对应的条目的值将会被新建所对应的 值所覆盖,原来不存在的条目将被添加到字典中去。
字典的键
不允许一个键对应多个值
键必须是可哈希
所有不可变的类型都是可哈希的,因此他们都可以作为字典的键,值相等的数字表示相同的键。
三.集合
set 是可变集合,frozenset是不可变集合
集合类型的操作符有 :联合| ,交集&,补集-,对称差分(XOR),
混合集合类型操作:如果左右两个操作数的类型相同,即都是可变集合或是不可变集合,则产生的结果的类型是相同的,但如果左右两个操作数的类型不相同,结果的类型是和左边操作数的类型是相同的。
加号不是集合类型的操作符。