一,内键方法

1、fromkeys(...)

语法:dict1.fromkeys(s[,v]):s指的是字典的键值,[,v]指的是可选项(值),[,v]不填写的话默认为none

#不填写第二个值,默认为none

>>> dict1 = {}
>>> dict1.fromkeys((1,2,3))
{1: None, 2: None, 3: None}

#第二个值是多个字符串时,会作为一个整体赋值给键值

>>> dict1.fromkeys((1,2,3),('one','two','three'))
{1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}

#采用fromkeys后,不能对value进行修改,只会重新创建一个字典

例如:尝试对1,3的key进行修改为four,five

>>> dict1.fromkeys((1,3),('four','five'))
{1: ('four', 'five'), 3: ('four', 'five')}
>>>

---由代码可以得知:只会重新创建一个字典,不能对其进行修改

2、keys():返回字典的所有键,

3、value():返回字典的所有值

4、items():返回字典的整个项

---

>>> dict1 = {}
>>> dict1 = dict1.fromkeys((range(5)),('赞'))
>>> dict1
{0: '赞', 1: '赞', 2: '赞', 3: '赞', 4: '赞'}
>>> for eachKey in dict1.keys():
    print(eachKey)   
0
1
2
3
4

>>> for eachValue in dict1.values():
    print(eachValue)  




>>> for eachItems in dict1.items():
    print(eachItems)   
(0, '赞')
(1, '赞')
(2, '赞')
(3, '赞')
(4, '赞')
>>>

5、检查字典内的键是否存在,并且不需要报错,采用get(键)并且也可以进行赋值get(键,value)

#检查dict1字典内的第五个键是否存在

>>> dict1.get(5)
>>> print(dict1.get(5))
None

--返回的是none

#对dict1字典内的第五个键进行赋值

>>> dict1.get(5,'木有!')
'木有!

6、成员资格操作符:in       not in

>>> 5 in dict1
False
>>> 4 in dict1
True

7、clear():清除字典

8、copy():拷贝字典

>>> a = {1:'one',2:'two',3:'three'}
>>> b = a.copy()
>>> c = a
>>> b
{1: 'one', 2: 'two', 3: 'three'}
>>> c
{1: 'one', 2: 'two', 3: 'three'}

9、pop():截取字典的片段value

>>> a = {1:'one',2:'two',3:'three'}

>>> a.pop(2)  #2指的是键值
'two'

10、popitem():随机截取字典内的数据

>>> a.popitem()
(3, 'three')
>>> a.popitem()
(1, 'one')

11、setdefault():随机增加字典内的数据

>>> a = {1:'one',2:'two',3:'three'}
>>> a.setdefault(5,'five')
'five'
>>> a
{1: 'one', 2: 'two', 3: 'three', 5: 'five'}
>>>

----

>>> a = {1:'one',2:'two',3:'three'}
>>> a.setdefault('小白')
>>> a
{1: 'one', 2: 'two', 3: 'three', '小白': None}

12、update():更新字典

>>> a = {1: 'one', 2: 'two', 3: 'three', 5: 'five'}

>> b = {'小白':'狗'}
>>> a.update(b)
>>> a
{1: 'one', 2: 'two', 3: 'three', 5: 'five', '小白': '狗'}

二、练习题

1、现在要实现一个需求,弹出一个界面,可以让用户选择是新建用户还是登录已有账户,或者直接退出,在登录账户的时候,密码输入错误不能超过三次,超过三次要回到主界面,用户名输入‘q’的时候也可以退出并回到主界面

--- 小甲鱼的代码:

---思路:

a、注册新用户,通过用户名判断是否被使用,被使用重新输入,没有被使用继续输入密码,注册成功

b、登录,通过用户判断是否存在,不存在重新输入,存在输入密码(判断密码是不是一致,一致登录成功,不一致提示输入密码错误)

c、通过不同的指令来确定进行注册,还是登陆,还是退出

user_data = {}

def new_user():
prompt = '请输入用户名:'
while True:
name = input(prompt)
if name in user_data:
prompt = '此用户名已经被使用,重新输入:'
continue
else:
break
passwd = input('请输入密码:')
user_data[name]=passwd
print('注册成功,试着登录一下吧!') def old_user():
prompt = '请输入用户名:'
while True:
name = input(prompt)
if name not in user_data:
prompt = '您输入的用户名不存在,请重新输入:'
continue
else:
break
pwd = user_data.get(name)
Ntimes = 3
while Ntimes !=0:
passwd = input('请输入密码:')
if passwd != pwd:
print ('密码输入错误,还有%d 次机会'% Ntimes)
Ntimes -=1
if Ntimes ==0:
print('机会已经用完!')
break
elif passwd == pwd:
print('欢迎进入XX00系统,请点击右上角的结束程序')
else:
print('密码输入错误') def showsume():
prompt = '''
|---新建用户:N/n ---|
|---登录用户:E/e ---|
|---退出程序:Q/q ---|
|---请输入指令代码:''' while True:
chosen = False
while not chosen:
choice = input(prompt)
if choice not in 'NnEeQq':
print('您输入的指令代码错误,请重新输入')
else:
chosen = True if choice == 'N' or choice == 'n':
new_user()
if choice == 'E' or choice == 'e':
old_user()
if choice == 'Q' or choice == 'q':
break showsume()

【Python026--字典内键方法】的更多相关文章

  1. python 数据类型元组与字典内置方法

    1.元组 (1)元组是不可变的列表,能存多个值:如果多个值只有取得需求,没有改的需求,用元组最合理 (2)定义:在()内用逗号隔开,可以存任意类型的值 注意:当元组只有一个元素时,要在后面加逗号 # ...

  2. day08整理(周总结\列表\字典内置方法)

    一.周总结 一 计算机基础之编程 1.什么是编程语言 编程是人与计算机交流的介质 2.什么是编程 通过编程语言写一堆文件 3,为什么编程 取代劳动力,帮人类干活 二 计算机组成 1.CPU 控制器 控 ...

  3. Day 08 可变与不可变对象/列表与字典内置方法

    目录 可变对象与不可变对象 可变对象 不可变对象 列表的内置方法 字典内置方法 可变对象与不可变对象 可变对象 对象指向的内存中的值会改变,当更改这个变量的时候,还是指向原来内存中的值,并且在原来的内 ...

  4. python 字典内置方法get应用

    python字典内置方法get应用,如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这 ...

  5. Python字典内置方法

    Python字典包含了以下内置方法: 序号 函数及描述 1 radiansdict.clear()删除字典内所有元素 2 radiansdict.copy()返回一个字典的浅复制 3 radiansd ...

  6. Python_元组、字典内建方法详解

    目录 目录 前言 软件环境 元组Tuple count 查询一个元素在Tuple中的数量 index 查询元素在Tuple中的索引号 元组的遍历 字典Dictionary 创建一个字典对象 简单的创建 ...

  7. Python基础之字典内置方法

    目录 1. 字典 1.1 字典的作用 1.2 创建和使用字典 1.2.1 dict类 1.2.2 基本的字典操作 1.2.3 字典方法 1. 字典 映射:可以通过名称来访问其各个值的数据结构. 字典是 ...

  8. python基础(5)---整型、字符串、列表、元组、字典内置方法和文件操作介绍

    对于python而言,一切事物都是对象,对象是基于类创建的,对象继承了类的属性,方法等特性 1.int 首先,我们来查看下int包含了哪些函数 # python3.x dir(int) # ['__a ...

  9. python中的字典内置方法小结

    #!/usr/local/bin/python3 # -*- coding:utf-8 -*- #key-value #dict 无序,无下标,不需要下标,因为有key stu={ 'stu001': ...

随机推荐

  1. AutoMapper.Mapper.CreateMap报“System.NullReferenceException: 未将对象引用设置到对象的实例。”异常复现

    >>Agenda: >>Ⅰ.国庆假期问题出现 >>Ⅱ.双休日异常再次出现 >>Ⅲ.排障 >>Ⅳ.异常复盘 >>Ⅴ.修复后监测 & ...

  2. rsa 加密 pkcs#1格式秘钥的格式化

    C++调用openssl库生成的秘钥对,通过传输传出来的只有秘钥的内容,没有秘钥的格式.而我们在调用openssl库加密解密时,传入的秘钥是需要包含格式的.C++调用openssl库需要的格式为pkc ...

  3. Ubuntu中使用pip3报错

    使用pip3 出现以下错误: Traceback (most recent call last): File “/usr/bin/pip3”, line 9, in from pip import m ...

  4. CRUD简单查询

    一.查询所有数据 select * from car 二.查询指定列 select code , price from car 三.修改查询出的列名 select code as '代号' , nam ...

  5. oracle查询数据字典的sql

    使用的sql语句如下: select t1.username 用户, t2.TABLE_NAME 表名称, t3.comments 表业务含义, t2.COLUMN_NAME 字段名称, t4.com ...

  6. Hotfix

    http://group.jobbole.com/6311/ http://www.jianshu.com/p/6f0ae1e364d9 http://www.mamicode.com/info-de ...

  7. Intel 80386 微处理器的存储器管理

    一.存储器的管理       存储器的管理是一种硬件机制,微处理器在总线地址上对物理存储器进行寻址.但是,为了给程序提供比物理存储器容量更大的空间,就引入了虚拟存储器的概念,它在外存(比如磁盘)的支持 ...

  8. 5.无监督学习-DBSCAN聚类算法及应用

    DBSCAN方法及应用 1.DBSCAN密度聚类简介 DBSCAN 算法是一种基于密度的聚类算法: 1.聚类的时候不需要预先指定簇的个数 2.最终的簇的个数不确定DBSCAN算法将数据点分为三类: 1 ...

  9. Necklace (全排列 + 匈牙利)

    #include<bits/stdc++.h> using namespace std; ][], Gra[][]; ]; ]; ]; bool dfs(int u, int vN) { ...

  10. python range函数

    这个函数很简单,就不写例子了,看看语法,拿来即用 python range() 函数可创建一个整数列表,一般用在 for 循环中. 函数语法 range(start, stop[, step]) 参数 ...