第五天学习内容

---恢复内容开始---

一、字典相关概念:

1、数据类型划分:可变数据类型与不可变数据类型

①、可变数据类型:list、dict、set(集合)

②、不可变数据类型:元组、int、bool、str

字典是键值对:键:必须是不可变数据类型(元组、int、bool、str)

                         值:任意数据类型

举例:

dic = {'name': [ 'laowang', 'xiaowang']

          '班级情况':[ { 'num':54,‘age’:20'}]

         True:1

         (1,2,3):'无意义'

         }

2、字典优点:①、二分法查找数据速度快。②、可以存储大量关系数据。

二、字典的增删改查:

1、增:

①、直接加:

dic = {'name': '小二','age':13, 'hobby':'篮球'}
dic['height'] = 165  # 字典中没有一样的键值对就会添加,有则覆盖
print(dic)
dic['age'] = 15    # 13被15覆盖
print(dic)

②、setdefault方法:

dic = {'name': '小二','age':13, 'hobby':'篮球'}
dic.setdefault('weight', 100) # 字典中有相同的键值对,不做任何改变;没有才添加
print(dic)
dic.setdefault('name','小三') # 不做修改
print(dic)

2、删:

①、pop方法:

dic = {'name': '小二','age':13, 'hobby':'篮球'}
dic.pop('name')
print(dic)
print(dic.pop('name')) # 有返回值,按键去删除
print(dic.pop('weight', '没有此键')) # 可以设置随意返回值,用pop删除一个不知道有没有的键时,
print(dic.pop('weight',None))        # 加一个None(返回值),以防没有这个键而报错

②、popitem方法:

dic = {'name': '小二','age':13, 'hobby':'篮球'}
print(dic.popitem())  # 随机删除,有返回值,返回的元组里面就是删除的键

③、clear方法:

dic = {'name': '小二','age':13, 'hobby':'篮球'}
dic.clear()  # 清空字典

④、del方法:

dic = {'name': '小二','age':13, 'hobby':'篮球'}
del dic['age']
print(dic)
del dic  # 删除整个字典
print(dic)

3、改:

①、直接改:

dic1 = {'name': '小王','age':13, 'hobby':'篮球'}
dic['age'] = 12
print(dic)

②、update方法:

dic = {'name': '小二', 'from':'American','weight':110}
dic1 = {'name': '小王','age':13, 'hobby':'篮球'}
dic1.update(dic) # 把dic的覆盖添加到dic1,有的覆盖,没有的添加
print(dic)
print(dic1)

4、查:

①、直接打印键值对:

dic = {'name': '小二', 'from':'American','weight':110}
print(dic.keys())  # 打印键
print(dic.values()) # 打印值
print(dic.items())  # 打印键值对

②、分别打印键值:

dic = {'name': '小二', 'from':'American','weight':110}
for i in dic:  # 打印字典所有的键
    print(i)
for i in dic.keys():  # 打印字典所有的的键
    print(i)
for i in dic.values():  # 打印字典所有的值
    print(i)

③、同时打印键值对:

dic = {'name': '小二', 'from':'American','weight':110}
for k,v in dic.items():  # 打印键值对#
    print(k,v)

④、通过键找值:

dic = {'name': '小二', 'from':'American','weight':110}
v1 = dic['name']
print(v1)   # 有这个键的话就输出它的值
v2 = dic['name1']
print(v2)   # 没有这个键的话就会报错

get方法:

print(dic.get('name')) # 有的话就输出
print(dic.get('name1')) # 没有的话就输出None,不会报错
print(dic.get('name1','没有该值')) # 可以随意设定输出值

 二、字典的嵌套及一系列操作:

dic = {'name': ['xiaoer', 'laowang', 'zhangsan'],
       'qingkuang':{
        'name': 'wangwu',
        'age': 12,
        'height':160,
                     },
       'hobby':'打球'
      }
# 1、修改字典的值:
dic['hobby'] = '游戏'
print(dic)
# 2、在字典中增加值
dic['name'].append('sb')
print(dic)
# 3、将'laowang'全部大写
dic['name'][1] = dic['name'][1].upper()
print(dic)
# 4、在‘qingkuang'中添加一个键值对
dic['qingkuang']['from'] = 'china'
print(dic)

1、将输入的字符串的数字个数打印出来:

info = input('>>>')
for i in info:
    if i.isalpha():
        info = info.replace(i,' ')
l = info.split()
print(len(l))

---恢复内容结束---

猜你喜欢

转载自www.cnblogs.com/wan520/p/10917541.html
今日推荐