【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': ...
随机推荐
- HTML5特效收录-不定时更新
在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.希望能给大大家启发,并且学习. HTML5 Canvas粒 ...
- html2pdf后逐页固定位置盖公章
需要通过NuGet添加Html2Pdf引用 #region 通过Html来生成pdf,测试Html样式 /// <summary> /// 通过Html来生成pdf,测试Html样式 // ...
- word之论文摘要
字数在500个汉字左右
- windows系统快捷键
1.我的键盘:windows键的开启,需要按住FN键+windows键. 2.windows键 + E,表示打开我的电脑. 3.windows键 + R,打开windows的命令行窗口. 4.wind ...
- python pandas模块,nba数据处理(1)
pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数.pandas兼具Numpy高性能的数组计算功能以及电子表格和关系型数据(如SQL)灵活的数据处理能力.它提供了复杂精细的索引功 ...
- python编程快速上手第7章习题20
20.如何写一个正则表达式,匹配每 3 位就有一个逗号的数字?它必须匹配以下数字:'42''1,234''6,368,745'但不会匹配: '12,34,567' (逗号之间只有两位数字) '1234 ...
- spring 源码导入eclipse
使用 gradle: ..opensource\v3.: 错误: 程序包org.apache.commons.pool.impl不存在 最后发现是依赖的包commons-pool没有配置.关键是刚用 ...
- C# foreach 中获取索引index的方法[转]
在C# 开发中往往使用foreach 循环语句 来代替for循环语句.foreach 比 for 更加简洁高效. foreach : foreach ...
- linux centos 如何设置swap大小?
linux centos 如何设置swap大小? swap的值都是安装系统的时候设置好的,一般设置为内存的两倍大小.使用过程中发现swap值过小只能添加.用free -m 命令查看当前swap大小 使 ...
- 自学Java第五周的总结
在这周里我在我要自学网上观看视频学习了有关java的基础知识,课程主要介绍JavaSE,这是整个Java体系的基础:课程将由浅入深,并结合案例进行讲解,在那里我将自己已学的知识进行了巩固,并由学习到了 ...