Python-如何对字典进行查找操作
1、字典是按key取值;字典[键名] ,返回键名对应的值;
当查找的key不在字典内,会报错。
例如:
d1={'name':'齐德隆','age':34,'place':'深圳'}
print(d1['name'],d1['age'],d1['place'])
---齐德隆 34 深圳

2、用get()函数查找:dict. get(key,default=None)
1)如果参数 key 是字典中的键,返回 key 的值。
2)如果key不是字典中的键,返回默认参数default的值。
例如:
d1={'name':'齐德隆','age':34,'place':'深圳'}
name=d1.get('name')
print(name)
---齐德隆
age=d1.get('age','此键不在字典内!')
print(age)
---34
place=d1.get('plac','此键不在字典内!')
print(place)
---此键不在字典内!
3)和用键直接取值相比,get()函数取值不会发生 KeyError的错误。

3、用keys()函数查看字典的键;dict.key()
返回的是字典键组成的视图,返回值可以被迭代。
例子:
d1={'name':'齐德隆','age':34,'place':'深圳'}
ky=d1.keys()
print(ky)
---dict_keys(['name', 'age', 'place'])
print(type(ky))
---<class 'dict_keys'>
#可以将返回值传入list([iterable]),生成列表:
print(list(ky))
---['name', 'age', 'place']
#也可以迭代查看:
for k in ky:
print(k,end=' ')
---name age place

4、用dict. keys()遍历字典所有键名:
例如:
d1={'name':'齐德隆','age':34,'place':'深圳'}
for k in d1.keys():
print(k,end=' ')
---name age place

5、用values()函数查看字典的值;dict. values()
返回字典值组成视图。返回值可以被迭代。
例子:
d1={'name':'齐德隆','age':34,'place':'深圳'}
val=d1.values()
print(val)
---dict_values(['齐德隆', 34, '深圳'])
print(type(val))
---<class 'dict_values'>
#可以将返回值传入list([iterable]),生成列表:
print(list(val))
---['齐德隆', 34, '深圳']
#也可以迭代查看:
for v in val:
print(v,end=' ')
---齐德隆 34 深圳

6、用dict. values(),遍历字典的所有值:
例如:
d1={'name':'齐德隆','age':34,'place':'深圳'}
for v in d1.values():
print(v,end=' ')
---齐德隆 34 深圳

7、用items()函数查看键值对。dict.items()
返回字典由键值对组成的视图,返回值可以被迭代。
例如:
d1={'name':'齐德隆','age':34,'place':'深圳'}
kvs=d1.items()
print(kvs)
---dict_items([('name', '齐德隆'), ('age', 34), ('place', '深圳')])
print(type(kvs))
---<class 'dict_items'>
#可以将返回值传入list([iterable]),生成列表:
print(list(kvs))
---[('name', '齐德隆'), ('age', 34), ('place', '深圳')]
#也可以迭代查看:
for kv in kvs:
print(kv,end=' ')
---('name', '齐德隆') ('age', 34) ('place', '深圳')

8、用dict.items()来遍历字典的所有键值对:
例如:
d1={'name':'齐德隆','age':34,'place':'深圳'}
for k,v in d1.items():
print(f'{k}={v};',end=' ')
---name=齐德隆; age=34; place=深圳;

1、迭代器查看键:iter(dict)
返回的是键为元素的迭代器。 与 iter(dict.keys()) 结果相同。
例如:
d1={'name':'齐德隆','age':34,'place':'深圳'}
allKey1=iter(d1)
allKey2=iter(d1.keys())
for k in allKey1:
print(k,end=' ')
---name age place

2、用dict.setdefault(key, default)查看键是否存在:
1)参数key,是要查看的键。如果键在字典中就返回键的值。
2)default是默认参数,默认值是None。
3)如果key不在字典,就将参数key和default作为键值对插入字典。并返回default。
例如:
d1={'name':'齐德隆','age':34,'place':'深圳'}
print(d1.setdefault('name'))
---齐德隆
print(d1.setdefault('weight'))
---None
print(d1.setdefault('ID','2314474'))
---2314474
print(d1)
---{'name': '齐德隆', 'age': 34, 'place': '深圳', 'weight': None, 'ID': '2314474'}

3、查看字典的长度:使用公用函数 len(dict)
返回字典键值对的个数。
例如:
d1={'name':'齐德隆','age':34,'place':'深圳'}
print(len(d1))
---3

4、可以用成员运算符 in,not in 判断键是否存在于字典:
key in dict : 键在字典内,返回True,否则返回False;
key not in dict : 键不在字典内,返回True,否则返回False;
例如:
d1={'name':'齐德隆','age':34,'place':'深圳'}
print('name' in d1)
---True
print('weight' not in d1)
---True
