【Python026--字典内键方法】
一,内键方法
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--字典内键方法】的更多相关文章
- python 数据类型元组与字典内置方法
1.元组 (1)元组是不可变的列表,能存多个值:如果多个值只有取得需求,没有改的需求,用元组最合理 (2)定义:在()内用逗号隔开,可以存任意类型的值 注意:当元组只有一个元素时,要在后面加逗号 # ...
- day08整理(周总结\列表\字典内置方法)
一.周总结 一 计算机基础之编程 1.什么是编程语言 编程是人与计算机交流的介质 2.什么是编程 通过编程语言写一堆文件 3,为什么编程 取代劳动力,帮人类干活 二 计算机组成 1.CPU 控制器 控 ...
- Day 08 可变与不可变对象/列表与字典内置方法
目录 可变对象与不可变对象 可变对象 不可变对象 列表的内置方法 字典内置方法 可变对象与不可变对象 可变对象 对象指向的内存中的值会改变,当更改这个变量的时候,还是指向原来内存中的值,并且在原来的内 ...
- python 字典内置方法get应用
python字典内置方法get应用,如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这 ...
- Python字典内置方法
Python字典包含了以下内置方法: 序号 函数及描述 1 radiansdict.clear()删除字典内所有元素 2 radiansdict.copy()返回一个字典的浅复制 3 radiansd ...
- Python_元组、字典内建方法详解
目录 目录 前言 软件环境 元组Tuple count 查询一个元素在Tuple中的数量 index 查询元素在Tuple中的索引号 元组的遍历 字典Dictionary 创建一个字典对象 简单的创建 ...
- Python基础之字典内置方法
目录 1. 字典 1.1 字典的作用 1.2 创建和使用字典 1.2.1 dict类 1.2.2 基本的字典操作 1.2.3 字典方法 1. 字典 映射:可以通过名称来访问其各个值的数据结构. 字典是 ...
- python基础(5)---整型、字符串、列表、元组、字典内置方法和文件操作介绍
对于python而言,一切事物都是对象,对象是基于类创建的,对象继承了类的属性,方法等特性 1.int 首先,我们来查看下int包含了哪些函数 # python3.x dir(int) # ['__a ...
- python中的字典内置方法小结
#!/usr/local/bin/python3 # -*- coding:utf-8 -*- #key-value #dict 无序,无下标,不需要下标,因为有key stu={ 'stu001': ...
随机推荐
- 函数max()优化
函数max的优化 用途:查询最后支付时间-优化max函数 语句: select max(payment_date)from payment 执行计划:
- equals和==的区别小结
==: == 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象.比较的是真正意义上的指针操作. 1.比较的是操作符两端的操作数是否是同一个对象 ...
- input 滑块功能range javascript方法使用
<script> var rangelist=document.querySelectorAll('[type="range"]'); for(var i=0; i&l ...
- itextsharp display:none无效的bug
在使用itextsharp实现 html 2 pdf时,发现display:none无效.如 <div style="display: none">应该隐藏</d ...
- linux打包压缩与搜索命令
1.tar命令 tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”. tar命令的参数及其作用 参数 作用 -c 创建压缩文件 -x 解开压缩文件 -t 查看压缩包内有哪些 ...
- Metasploit渗透技巧:后渗透Meterpreter代理
Metasploit是一个免费的.可下载的渗透测试框架,通过它可以很容易地获取.开发并对计算机软件漏洞实施攻击测试.它本身附带数百个已知软件漏洞的专业级漏洞攻击测试工具. 当H.D. Moore在20 ...
- C# 调用.bat 提示该命令不是内部命令或外部命令
前提:双击.bat文件可以执行成功,用C#调用提示该命令不是内部命令或外部命令...... 解决方法:下面代码的红色标注,既要设置.bat文件的文件名FileName,也要设置.bat文件所在的文件夹 ...
- B树,B+树,B*树以及R树的介绍
https://blog.csdn.net/peterchan88/article/details/52248714 作者:July.weedge.Frankie.编程艺术室出品. 说明:本文从B树开 ...
- KindEditor echarts
var editor; KindEditor.ready(function (K) { editor = K.create('textarea[name="content"]', ...
- restful的特点
1. 资源(Resources) REST的名称”表现层状态转化”中,省略了主语.”表现层”其实指的是”资源”(Resources)的”表现层”. 所谓”资源”,就是网络 ...