05、python的基础-->字典的增、删、改、查

1、字典的增

dict = {'age':19,'name':'老王','hobby':'girl'}
dict['sex'] = 'boy'      #没有键值对,直接添加
dict['age'] = '20'       #有键值对,覆盖值
dict.setdefault('job','boss')    #无键值添加,有键值不覆盖
print(dict)
View Code

2、字典的删

dict = {'age':19,'name':'老王','hobby':'girl'}
dict.pop('name')       #按键删除
print(dict.pop('name') )    #有返回值
print(dict.pop('wight','None') )       #无设置值会报错,可以随意设置返回值,一般用None
dict.popitem()      #3.5 是随机删除,3.6 以上有序,默认删除最后,有返回值,元组-->删除的键值
dict.clear()          # 清空字典键值
del dict['name']       # 删除字典键值,一般不用,无键会报错,可以直接删除字典
print(dict )
View Code

3、字典的改

dict['age'] = '20'       #有键值对,修改值
dict = {'age':19,'name':'老王','hobby':'girl'}
dict1 = {'name':'老王','sex':'male'}
dict1.update(dict)    #把一个字典内的元素加到另一个字典,相同键不做修改,不同的增加
print(dict1)
View Code

4、字典的查

dict = {'age':19,'name':'老王','hobby':'girl'}
print(dict['name'])    #直接打印对应keys的值,找不到keys会报错
print(dict.get('name'))   #直接打印对应keys的值,找不到keys不会报错,显示None
print(dict.get('name1','查不到此键'))     #有返回值
print(dict.keys())   #查键
print(dict.values())    #查值
print(dict.items())     #查组
for i in dict:       #默认打印出键,跟for i in dict.keys()一样
    print(i)
for i in dict.values():     #打印出值
    print(i)
for i in dict.items():     #打印出组
    print(i)
View Code

5、特殊应用

# 根据以下规则
a,b = 1,2        #输出  1 2
print(a,b)
a,b = [1,2]      #输出  1 2
print(a,b)
a,b = [1,2],[3,4]     #输出   [1, 2] [3, 4]
print(a,b)
# 衍生
for k,j in dict.items():      #打印出没有括号没有逗号分开的元素
    print(k,j)
View Code

6、字典的嵌套

View Code

7、案例应用

--->案例1:将大于66的放到第一个keys中,将小于66的放到第二个keys中

li = [11,22,33,44,55,66,77,88,99,90]
dict = {'k1': [], 'k2': []}
for i in li:
    if i == 66:
        continue
    if i < 66:
        dict['k1'].append(i)
    else:
            dict['k2'].append(i)
print(dict)
View Code

--->案例2:输出商品列表,用户输入序号,显示用户选中商品

商品li=['手机','电脑','鼠标垫','游艇']
要求:1、页面显示 序号 + 商品名称,如:
                 1 手机
                 2 电脑
                  ...
2、用户输入选择的商品序号,然后打印出商品名称
3、如果用户输入的商品序号有误,则提示输入有误,并重新输入
4、用户输入Q或者q,退出程序
li = ['手机', '电脑', '鼠标垫', '游艇']
for i in li:
    print(li.index(i)+1, i)    #使用format增加美观   print('{}\t{}'.format(li.index(i)+1, i))
while 1:
    num = input('请输入你选择的商品:')
    if num.upper() == 'Q':
            break
    if num.isdigit():
        if int(num) <= len(li) and int(num) > 0:
            print(li[int(num) - 1])
        else:
            print('你的输入有误,请重新输入')
    else:
        print('请输入数字')
View Code

你可能感兴趣的:(05、python的基础-->字典的增、删、改、查)