一,内键方法

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. unity3d-多媒体与网络

    1.音乐 unity3d 共支持4种音乐的格式文件 aiff:适用于较短的音乐文件,可用于游戏音效 wav:适用于较短的音乐文件,可用于游戏音效 mp3:适用于较长的音乐文件,可用于游戏音乐 ogg: ...

  2. 新节点在线加入PXC

    环境 192.168.139.151 新增节点 192.168.139.148-150 集群节点 192.168.139.151 已经安装好PXC软件 计划: 选用192.168.139.150 节点 ...

  3. Service Fabric本地开发部署修改数据目录

    以修改5节点非安全模式为例: 在C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\NonSecure\FiveNode目录下,修改 ...

  4. [1]传奇3服务器源码分析一 LoginGate

    服务端下载地址: 点击这里 网上基本上都有分析该源码的分析详解,如:请点击该链接,但容易晕,而且也不全!所以才有了本文! 一.首先来看服务端的LoginGate源码 先来张图比较让人容易理解

  5. 解决lnmp服务器环境wordpress升级或安装插件主题要输入FTP的方法

    使用lnmp一键安装包搭建的服务器环境运行wordpress,在后台升级WP程序.安装或更新插件主题时,每时提示输入FTP信息,该问题的原因是nginx的执行身份用户组非文件用户组,前面博客吧使用虚拟 ...

  6. python爬虫 ----文章爬虫(合理处理字符串中的\n\t\r........)

    import urllib.request import re import time num=input("输入日期(20150101000):") def openpage(u ...

  7. python绝对路径的表述方式 及 字符串的转义

    当我们打开某文件的路径时,应该时刻注意绝对路径的表示方法,例如打开某个txt文件时 1, with open(‘d:\77\111.txt’) as  f: f.read() 此时会报错  ,路径被反 ...

  8. Problem(莫比乌斯反演)

    我不是传送门 题意 : 中文题目不解释 求gcd(x,y) = k (a<=x<=b, c<=y<=d); 根据gcd(ka,kb) = k*gcd(a,b), 可将问题转化为 ...

  9. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现

    https://blog.csdn.net/zouxy09/article/details/9993371 自己平时看了一些论文,但老感觉看完过后就会慢慢的淡忘,某一天重新拾起来的时候又好像没有看过一 ...

  10. A stock

    1. 密集成交不太妙 主力抛压退为好