基本数据之-字典

1.字典的创建的多种方法:但是目前只需求3种就可

# 方式一:
# dic = dict((('one', 1), ('two', 2), ('three', 3)))
# print(dic)  # {'one': 1, 'two': 2, 'three': 3}

  

# 方式二:
dic = dict(one=1, two=2, three=3)
print(dic)
# 方式三:
dic = dict({'one': 1, 'two': 2, 'three': 3})
print(dic)

#结果 {'one': 1, 'two': 2, 'three': 3}

 

2.字典的增删改查

增加一个setdefault  如果存在key ,不会执行新增

 

# 增:
#1. 直接增加 有则改之,无则增加
dic = {'name': '太白', 'age': 18, 'hobby_list': ['直男', '钢管', '开车']}

dic['sex'] = ''
print(dic)

结果:{'name': '太白', 'age': 18, 'hobby_list': ['直男', '钢管', '开车'], 'sex': ''}


dic['age'] = 23  #

结果:dic = {'name': '太白', 'age': 23, 'hobby_list': ['直男', '钢管', '开车']}
#删,
# pop 按照键删除键值对, 有返回值  ***
# 设置第二个参数则无论字典中有无此键都不会报错
#如果无key时,用pop(a,b)这种方式.增加第二个参数,就不会报错.会把第二个参数直接带出来.删除建义用这种

dic = {'name': '太白', 'age': 18, 'hobby_list': ['直男', '钢管', '开车']}

dic.pop('age')

#结果:dic = {'name': '太白',  'hobby_list': ['直男', '钢管', '开车']}

 ret = dic.pop('hobby','没有此键')
print(ret) 
结果是:没有此键   
# clear  清空  **
dic = {'name': '太白', 'age': 18, 'hobby_list': ['直男', '钢管', '开车']}
dic.clear()
print(dic)

结果:{}
# del  **
# # del dic['age']
# del dic['age1']
# print(dic)

如key时没有的话.会直接报错.建义用pop带第二个参数删除
#
dic = {'name': '太白', 'age': 18, 'hobby_list': ['直男', '钢管', '开车']}
dic['name'] = 'alex'
print(dic)

结果:{'name': 'alex', 'age': 18, 'hobby_list': ['直男', '钢管', '开车']}
#
# print(dic['hobby_list'])
# print(dic['hobby_list1'])
#用这种方法查的话.如没有key时.会报错..用get来查找

# get  ***
# l1 = dic.get('hobby_list')
# l1 = dic.get('hobby_list1','没有此键sb')  # 可以设置返回值
# print(l1)

3.三个特殊的keys ,values,items

keys:取的是所有的主键

values:取的是所有的键值

items:取的是所有的主键和键值

# 可以转化成列表
# print(list(dic.keys()))
# print(list(dic.values()))
# for key in dic.keys():
#     print(key)  取的是所有的key值

# for key in dic:
#     print(key)


# values()
# print(dic.values())
# print(list(dic.values()))

# for value in dic.values():
#     print(value)  取的是所有的value值


# items()
# print(dic.items())

# for key,value in dic.items():
#     print(key,value) 取的是所有的key,value值

 4。字典的嵌套

dic = {
    'name': '汪峰',
    'age': 48,
    'wife': [{'name': '国际章', 'age': 38},],
    'children': {'girl_first': '小苹果','girl_second': '小怡','girl_three': '顶顶'}
}

# 1. 获取汪峰的名字。
print(dic['name']) 

#或者 get()
print(dic.get('name')

# 2.获取这个字典:{'name':'国际章','age':38}。
print(dic.get('wife')[0])
或者
dic['wife'][0]

# 3. 获取汪峰妻子的名字。
print(dic['wife'][0]['name'])

# 4. 获取汪峰的第三个孩子名字。
print(dic['children']['girl_three'])

 

一些例题

*选做题:**判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海 ⾃来⽔来⾃海上

content = input('请输入:')
if content == content[::-1]:
    print('它是回文')
else:
    print('它不是')

 

posted @ 2020-05-09 08:38  水晶冰洛  阅读(153)  评论(0编辑  收藏  举报