Python学习笔记(七)—字典的学习

总结内容:

  1、字典的定义

  2、字典的好处

  3、字典的增删改查

  4、字典常用方法及内置函数

  5、字典的多层嵌套

  6、字典的循环

  7、字典小练习


1、字典的定义

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

2、字典的好处:

1、取数据方便,知道key的值就能将value的值取到

2、速度快

键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

例如:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

3、字典的增删改查

3.1、字典查询:

1、get方法

 

如果key 不存在,在取不到key的值的情况下,则显示为null

 

如果key的值不存在,但是设置了默认值,那么在取不到值时显示默认值:

 

2、[ ]方式取值

 

注意:如果用[]方式取值的话,如果key不存在则会报错

3.2、字典增加:

方式一:[ ]方式,在key 存在的情况下可以覆盖原字典中的值,在key不存在的情况下直接添加该值

 

注意:字典是无序的,所以输出的数据不一定是按有序的顺序输出

方式二:setdefault方法,在key存在的情况下不能修改原字典中的值

info.setdefault('addr','55555')

 

3.3、字典的修改:

使用[]方式修改字典的value值

 

3.4、字典的删除:

方式一:

pop方式:指定key删除

 

方式二:

popitem:随机删除一个key

方式三:

del :指定key来删除

 

方式四:

clear方式:清空字典

 


4、字典常用方法及内置函数:

values:输出字典中values的值

keys:输出字典所有的key的值

items:输出子典中所有的key:values值

 

Python内置方法:

函数及描述

1

radiansdict.clear()
删除字典内所有元素

2

radiansdict.copy()
返回一个字典的浅复制

3

radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

4

radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值

5

key in dict
如果键在字典dict里返回true,否则返回false

6

radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组

7

radiansdict.keys()
以列表返回一个字典所有的键

8

radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

9

radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里

10

radiansdict.values()
以列表返回字典中的所有值

11

pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

12

popitem()
随机返回并删除字典中的一对键和值(一般删除末尾对)。

Python字典包含了以下内置函数:

序号

函数及描述

实例

1

len(dict)
计算字典元素个数,即键的总数。

>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

>>> len(dict)

3

2

str(dict)
输出字典,以可打印的字符串表示。

>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

>>> str(dict)

"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"

3

type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。

>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

>>> type(dict)

<class 'dict'>


5、多层嵌套:

 

实例:

多次嵌套数据的查询:

 

多次嵌套修改数据

 

多次嵌套添加数据:

 


6、字典的循环操作

直接循环字典打印的是字段的key值:

 

同时取到key:values的循环方式,需要使用items方法:

 

注意:字典里面用in来判断的话直说判断key的值,value的值是不进行判断的


7、字典小练习

users = {
    'test0':'123456',
    'test1':'456789',
}
#所有的账号和密码
# username
# pwd
# cpwd
# print( '123456' in users )   #字典里面用in来判断的话,只是判断key是否存在
for i in range(3):
    username = input('账号:').strip()
    passwd = input('密码:').strip()
    cpasswd = input('密码确定:').strip()
    if username=='' or passwd=='' or cpasswd=='':
        print('用户名/密码不能为空')
    elif username in users:
        print('用户名已经被注册!')
    elif passwd!=cpasswd:
        print('两次输入的密码不一致')
    else:
        print('恭喜,注册成功!')
        # users.setdefault(username,passwd)
        users[username]=passwd
        break
else:
    print('错误次数过多')
print(users)

 

转载于:https://www.cnblogs.com/beginner-boy/p/8647392.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值