基本数据之-字典
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('它不是')