Python数据类型-字典
字典(dict)
字典是key:value形式的一种表达形式,例如在Java中有map,JavaScript中的json,Redis中的hash等等这些形式。字典可以存储任意的对象,也可以是不同的数据类型。
1、字典的定义
A = dict(a=1, b=2) A = {"name":"yangjian"} A = dict([("name","yangjian"),("age",18)])
2、字典常用的方法
get(k) # 返回key所对应的value setdefault(k,v) # 如果k不存在,设置一个默认值v;如果k存在,返回k所对应的v keys() # 获得所有的keys values() # 获得所有的values iteritems() # 生成一个对象,每循环一次生成一个k:v for i j in d.iteritems():print(i,j) Python才有这个方法,Python3为items() update() # m.update(n),其中m,n都是字典 pop(k) # 删除k:v对应的元素 copy() # 复制 zip(l1,l2) # 高阶函数,dict(zip(l1,l2)),把l1和l2转换成字典,其中l1,l2是列表
例子:
x = {"name":"yangjian","age":18} print(x.get("name")) # yangjian print(x.get("name1","hello")) # name1并不存在,所以要给一个默认值 # hello print(x.keys()) # dict_keys(['name', 'age']) print(x.values()) # dict_values(['yangjian', 18]) print(x.items()) # 字典变成列表,列表里面是元组 # dict_items([('name', 'yangjian'), ('age', 18)]) y = x.copy() print(y) # {'name': 'yangjian', 'age': 18} l1 = ["a","b","c"] l2 = ["1","2","3"] print(dict(zip(l1,l2))) # {'a': '1', 'b': '2', 'c': '3'}
强制类型转换
str()
int()
list()
dict()
tuple()
例子:
# 把列表l1强制转换成元组 l1 = ["a","b","c"] print(tuple(l1)) ('a', 'b', 'c')
xrange()和range()
在python3里面xrange()默认就是range()
for i in range(0,3): print(i) # 结果如下 0 1 2
raw_input()和input()
在python3中已经没有raw_input(),默认只有input()
try: name = raw_input("Please input your name:") except Exception as e: name = input("Please input your name:") finally: print("hello {0}".format(name))
len()
查看字典长度
d = {"name":"yangjian","age":18} print(len(d)) # 2
type()
查看对象的类型
print(type(d)) # <class 'dict'>
isinstance()
判断一个对象是否是一个已知的类型
a = 2 print(isinstance(a,int)) # True
enumerate()
对于一个可迭代的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。
l1 = [1,2,3,4,5] print(enumerate(l1)) for i in enumerate(l1): print(i) # 结果如下 <enumerate object at 0x0000000002138708> (0, 1) (1, 2) (2, 3) (3, 4) (4, 5)
hasattr()
判断一个对象是否有某个属性
L = ["a","b","a"] print(hasattr(L,"append")) # True