Dictionary中的常用方法:
len(a) |
得到字典a中元素的个数 |
a[k] |
取得字典a中键K所对应的值 |
a[k] = v |
设定字典a中键k所对应的值成为v |
del a[k] |
使用 key从一个 dictionary中删除独立的元素。如,删除Dictionary dic中的user=’root’:del dic[“user”] |
a.clear() |
从一个 dictionary中清除所有元素。如,删除Dictionary dic中的所有元素:dic.clear() |
a.copy() |
得到字典副本 |
k in a |
字典中存在键k则为返回True,没有则返回False |
k not in a |
字典中不存在键k则为返回true,反之返回False |
a.has_key(k) |
判断字典a中是否含有键k |
a.items() |
得到字典a中的键—值对list |
a.keys() |
得到字典a中键的list |
a.update([b]) |
从b字典中更新a字典,如果键相同则更新,a中不存在则追加. |
a.fromkeys(seq[, value]) |
创建一个新的字典,其中的键来自sql,值来自value |
a.values() |
得到字典a中值的list |
a.get(k[, x]) |
从字典a中取出键为k的值,如果没有,则返回x |
a.setdefault(k[, x]) |
将键为k的值设为默认值x。如果字典a中存在k,则返回k的值,如果不存在,向字典中添加k-x键值对,并返回值x |
a.pop(k[, x]) |
取出字典a中键k的值,并将其从字典a中删除,如果字典a中没有键k,则返回值x |
a.popitem() |
取出字典a中键值对,并将其从字典a中删除 |
a.iteritems() |
返回字典a所有键-值对的迭代器。 |
a.iterkeys() |
返回字典a所有键的迭代器。 |
a.itervalues() |
返回字典a所有值的迭代器。 |
注意:
Dictionary中的key值是大小写敏感的。并且在同一个dictionary中不能有重复的key值。并且,Dictionary中没有元素顺序的概念。
python内置数据类型
1. Dictionary是一个内置数据类型,定义了键和值之间一对一的关系,类似java里的hashtable的实例,他是无序的,key是大小写敏感的
与java不同的是,key只能是字符串,整数或者基本类型,value是可以是不同数据类型的值,
del可以用key删除元素,用clear清空
keys返回key的list,values返回值的list,items()返回一个dictionary的tuple
2. List:更像java里的数组,ArrayList
可以采用负数索引,从list的尾部开始向前计数
直接用a[1:n]实现list的分片
直接append在队尾添加元素,在insert(pos, obj)在pos出加元素,extend连接list
直接用index找元素在list中的位置,没找到时会引发异常,可以用in判断是否在
直接用remove删除元素,可以直接用pop得到并删除以后一个元素
list可以用*运算符,当做重复器。[1,2]*3 = [1,2,1,2,1,2]
简单方法将list中的每个元素应用一个函数,映射为另一个list
li=[1,2,3,4]
[elem*2 for elem in li]
[2,4,6,8]
3. Tuple: 不可变的list,tuple可以用作dictionary的key
tuple可以用于一次赋值多个值
4. 变量没有定义,首次赋值产生,当超出作用域就自动消亡
变量赋值可以分行,用\作为续行符
不能使用一个没有赋值的变量
5. range可以用来返回一个整数的list
6. python可以支持格式化字符串,将一个值插于在%s的位置
“string template contains %s" %(params);
%d表示整数, %f表示浮点数(6位小数), %.2f表示两位小数,%+。2f表示打印正负
7. ";".join(list)用";"将list里的元素连接
string.split(";")对应是将字符串分割