Python全栈学习_day005知识点

今日内容大纲:

1. 字典的增删改查以及其他操作
2. 字典的嵌套

1. 字典的增删改查以及其他操作
dic = {'太白':{'name': '太白', 'age': 25, 'sex': ''},
        'name_list': ['无双', 'alex', 'BlameK']}

dic = {'name': '太白', 'age': 18, 'sex': '', 'job': 'IT'}
第一种:
有key就改,没有key就直接添加
dic['sex'] = ''
dic['name'] = 'alex'

第二种:
setdefault: 有这个key则不做任何操作但是返回对应的值,没有key就添加
dic.setdefault('sex')
dic.setdefault('hobby', '讲课')
dic.setdefault('name','alex')
print(dic.setdefault('name'))
print(dic)
pop 通过键去删除键值对,也有返回值. 
如果没有此键, 并且设置了第二个参数,则不会报错,并且返回第二个参数
print(dic.pop('name'))
print(dic.pop('name1', None))
print(dic.pop('name1', '没有此键...'))
print(dic)


popitem: python3.5 之前随机删除某个键值对, python3.6 之后删除最后一组键值对,有返回值
print(dic.popitem())
print(dic)

clear 清空(把dic中内容清空,不是删除dic)
dic.clear()
print(dic)

del
按照键删除键值对
del dic['name']

删除整个字典(直接删除dic)
del dic
print(dic)      name 'dic' is not defined
第一种:
dic['age'] = 25
print(dic)

第二种:
两个字典 update
dic = {'name': 'jin', 'age': 18, 'sex': 'male'}
dic2 = {'name': 'alex', 'weight': 75}
dic.update(dic2)    将dic2中的所有键值对覆盖并添加到dic中,dic2不变
print(dic)
print(dic2)

dic.update(a='666', b='222', name='taibai')
print(dic)
print(dic['name'])
print(dic['name1'])       报错

print(dic.get('name'))      jin
print(dic.get('name1'))     None
print(dic.get('name1', '没有此键...'))

dic.keys()
print(dic.keys(), type(dic.keys()))     类似于列表的容器中
l1 = list(dic.keys())       可以转化成list
print(l1)

for key in dic.keys():
    print(key)

dic.values()    可转化成list, 可遍历
print(dic.values())
print(list(dic.values()))

dic.items()     可转化成list,可遍历
print(dic.items())
分别赋值
a, b = 10, 20
print(a, b)

a, b = [10, 20]
print(a, b)


a, b = [(1, 2), (3, 4)]
print(a, b)

a = 10
b = 20
a, b = b, a
print(a, b)


dic = {'name': 'jin', 'age': 18, 'sex': 'male'}
for i in dic.items():
    print(i)
结果:
('name', 'jin')
('age', 18)
('sex', 'male')


for k, v in dic.items():
    print(k, v)
结果:
name jin
age 18
sex male


for i in dic:
    print(i)
结果:
name
age
sex

print(len(dic))     3



2. 字典的嵌套
dic = {'name_list': ['王双', 'alex', '孙飞', 'taibai'],
        1: {'name': 'taibai', 'age': 18, 'sex': ''},
        (1, 2): [100, {'ip':'192.168.1.1', 'port': 3306}]
        }

1. 给name_list对应的列表追加一个值:司徒大人
dic['name_list'].append('司徒大人')

2. 将name_list对应的alex变成全部大写
dic['name_list'][1] = dic['name_list'][1].upper()

3. 将1对应的字典添加一个键值对:weight:75
dic[1]['weight'] = 75

4. 将1对应的字典的name键对应的名字taibai换成alex
dic[1]['name'] = 'alex'

5. 将{'ip': '192.168.1.1', 'port': 3306}此字典的port键值对删除
dic[(1, 2)][1].pop('port')
posted @ 2018-10-28 17:12  李培冠  阅读(388)  评论(0编辑  收藏  举报