我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python中的字典及其应用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python中的字典及其应用

一.字典创建
1.赋值创建字典
#赋值创建字典,key-value----键值对
In [1]: d = {'key1': 'value', 'key2': 'value2'}
Python中的字典及其应用
In [2]: print d
{'key2': 'value2', 'key1': 'value'}

In [3]: services = {'ssh': 22, 'ftp':[20, 21], 'http':[80, 8080]}
Python中的字典及其应用
In [4]: print services
{'ftp': [20, 21], 'http': [80, 8080], 'ssh': 22}

2.通过工厂函数创建字典
In [6]: users = dict(user1='123',user2='456',user3='789')

In [7]: print users
{'user2': '456', 'user3': '789', 'user1': '123'}
Python中的字典及其应用
3.通过字典的fromkeys方法创建字典,所有元素有一个默认值
#如果没有指定默认值,默认值为None
In [8]: print {}.fromkeys('hello')
{'h': None, 'e': None, 'l': None, 'o': None}
#给每个元素设置默认值为'123'
Python中的字典及其应用
In [9]: print {}.fromkeys(['user1', 'user2', 'user3'], '123')
{'user2': '123', 'user3': '123', 'user1': '123'}
Python中的字典及其应用
应用案例: 生成多个银行卡号,并初始化密码为"000000"
# 卡号由 6 位组成, 前 3 位是 610 , 后面的依次是 001, 002, 003...100
[root@localhost code1]# vim cards.py
Python中的字典及其应用
#!/usr/bin/env python
#coding:utf-8
cards = []
for i in range(1,101):
a = '610%.3d' %(i)
cards.append(a)
print {}.fromkeys(cards,'000000')
Python中的字典及其应用
Python中的字典及其应用
二.分析字典的特征(跟元组和列表比较)
-字典不能索引和切片,因为字典是无序的数据类型;
-字典不支持重复和连接;
-字典支持成员操作符: 判断字典的key值是否在字典中存在; in, not in
三.字典的增删改查
1.增
-字典名[key] = value
-d.update(a=1, b=2)
-d.update({'a':1, 'b',2})
-d.setdefault('a', 1)

(1)通过字典名[key]=value,将key-value添加到字典中
In [10]: service = {'ftp':[20,21]}
In [11]: service['http'] = [80,8080]

In [12]: service
Out[12]: {'ftp': [20, 21], 'http': [80, 8080]}

(2)update方法实现添加:key存在,覆盖value值,否则添加
In [21]: service = {'ftp':[20,21]}

In [22]: service1 = {'ssh':22}
Python中的字典及其应用
In [23]: service.update(service1)

In [24]: print service
{'ftp': [20, 21], 'ssh': 22}
Python中的字典及其应用
(3)update添加
In [25]: print service
{'ftp': [20, 21], 'ssh': 22}

In [27]: service.update(http=[80,8080],ftp=23)
Python中的字典及其应用
In [28]: print service #覆盖value值
{'ftp': 23, 'http': [80, 8080], 'ssh': 22}
Python中的字典及其应用
(4)setdefault实现添加:
key存在,不覆盖value值,否则,添加

In [30]: service = {'ftp':[20,21]}
In [32]: service.setdefault('ftp',23)
Out[32]: [20, 21]

In [33]: print service
{'ftp': [20, 21]} #key存在不覆盖value值
In [34]: service.setdefault('ssh',23)
Out[34]: 23

In [35]: print service
{'ftp': [20, 21], 'ssh': 23} #key不存在,添加

2.改
-字典名[key]=value
-d.update({'a':2, 'b':3})
-d.update(a=2, b=3)
3.查
-查看key值;
-查看value值;
-查看key-value键值对;
-查看key是否存在;

(1)查看key值
In [38]: services
Out[38]: {'cc': 23, 'ftp': [20, 21], 'http': [80, 8080], 'ssh': 22}
Python中的字典及其应用

In [40]: services.keys()
Out[40]: ['cc', 'ftp', 'http', 'ssh']
Python中的字典及其应用
In [41]: services.viewkeys()
Out[41]: dict_keys(['cc', 'ftp', 'http', 'ssh']) #给key起名字
Python中的字典及其应用
In [45]: services.iterkeys()
Out[45]: <dictionary-keyiterator at 0x2887730>

(2)查看value值
n [46]: services.values()
Out[46]: [23, [20, 21], [80, 8080], 22]
Python中的字典及其应用
(3)查看key-value键值对
In [47]: services.items()
Out[47]: [('cc', 23), ('ftp', [20, 21]), ('http', [80, 8080]), ('ssh', 22)]
Python中的字典及其应用
(4)查看key是否存在
In [48]: services.has_key('http')
Out[48]: True

In [49]: services.has_key('sttp')
Out[49]: False
Python中的字典及其应用
(5)查看指定key对应的value值
如果key不存在,不报错;
如果key存在,返回value值
In [50]: services.get('sttp') #key不存在,不报错

In [51]: services.get('http')
Out[51]: [80, 8080] #key存在,返回value值
Python中的字典及其应用
In [52]: services['sttp'] #key不存在,直接报错
KeyError Traceback (most recent call
In [54]: services['http'] #key存在,返回value值
Out[54]: [80, 8080]

4.删

d.pop(key) #删除指定 key 的字典元素;
d.popitem() #随机删除字典的 key-value 元素 ;
del d[key] #删除指定 key 的字典元素;
d.clear() #清空字典元素

四.循环遍历字典
In [82]: service
Out[82]: {'ftp': 20, 'http': [80, 8080], 'ssh': 22}
1.遍历key-value的值
In [85]: for i,j in service.items():
....: print i,j
....:
ftp 20
http [80, 8080]
ssh 22
Python中的字典及其应用
2.默认情况下,遍历字典的key值
In [86]: for i in service:
....: print i
....:
ftp
http
ssh
Python中的字典及其应用
五.字典的应用
应用1: 通过字典实现case语句
-目前python不支持case语句;
-实现case语句的两种方式:
-if...elif...elif...else...
-字典实现

#!/usr/bin/env python
#coding:utf-8
"""
# 实现四则运算
# - 用户分别输入第一个数字,运算操作符,第三个数字;
# - 根据用户的运算操作打印出运算结果;
# """
if...elif...elif...else... 实现:

from __future__ import division
num1 = input()
ope = raw_input()
num2 = input()
if ope == '+':
        print num1+num2
elif ope == '-':
        print num1-num2
elif ope == '*':
        print num1*num2
elif ope == '/':
        print num1/num2
else:
        print 'error operator'

字典实现 case 语句
#coding:utf-8
"""
实现四则运算
用户分别输入第一个数字,运算操作符,第三个数字;
根据用户的运算操作打印出运算结果;
"""

#!/usr/bin/env python
#coding:utf-8
from future import division
num1 = input()
ope = raw_input()
num2 = input()
d = {
"+" : num1+num2,
"-" : num1-num2,
"" : num1num2,
"/" : num1/num2,
}
if not ope in d:
print "error operator"
else:
print d[ope]

应用2:用户管理系统
-1.注册新用户
-如果注册用户已经存在,则报错;
-需要填写信息: name, passwd, gender, email,age;
-2.用户登录 要求同之前写的用户登录系统
-3.注销用户 用户注销时,需要输入用户名和正确的用户密码
-4.显示用户信息 显示系统中存在所有已经注册用户的信息;
-5.退出系统。

欢迎评论

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python中的字典及其应用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python中的字典及其应用

一.字典创建1.赋值创建字典#赋值创建字典,key-value----键值对In [1]: d = {'key1': 'value', 'key2': 'value2'}In [2]: print d{'key2': 'value2', '
2023-01-31

Python中的字典及举例

字典字典是python中的唯一的映射类型(哈希表)字典对象是可变的,但是字典的键必须使用不可变对象,一个字典中可以使用不同类型的键值。字典的方法    keys()    values()    items()举例如下:    In [10
2023-01-31

python中的字典及嵌套遍历

这篇文章主要介绍了python中的字典及嵌套遍历,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-19

Python中字典的用法

Python中字典的用法注:以下所有示例使用的是Python3.5.版本Python中的字典与C++中的map容器很相似,都是键值对的形式存储,然而Python中对字典的操作远比C++中对map的操作要方便的多。C++中的map与Pytho
2023-01-31

python中的字典

字典 :一个关联数组或散列表 ,可通过关键字索引的对象。字典的用途:定义一个可包含多个命名字段的对象,也可以用作快速查找无序数据的容器字典是python中最完善的数据类型 在程序中最常用于存储和处理数据如何创建:1,在{}中放入值即可创建一
2023-01-31

详解字典树Trie结构及其Python代码实现

字典树(Trie)可以保存一些字符串->值的对应关系。基本上,它跟 Java 的 HashMap 功能相同,都是 key-value 映射,只不过 Trie 的 key 只能是字符串。 Trie 的强大之处就在于它的时间复杂度。它的插入和查
2022-06-04

Python字典get()方法的实际应用

首先,在较长一段Python的代码出现之前,回顾一些基础知识。第一段基础代码:---------------------------------dict = {'me':'1', 'occupy':'2'}dict['occupy']='9
2023-01-31

如何用生活里字典的实际应用来介绍Python基础中字典的知识

如何用生活里字典的实际应用来介绍Python基础中字典的知识,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、前言如果有列表 ,需要对"xiaoWang"这个名
2023-06-15

python中的字典使用分享

字典中的键使用时必须满足一下两个条件: 1、每个键只能对应一个项,也就是说,一键对应多个值时不允许的(列表、元组和其他字典的容器对象除外)。当有键发生冲突时(即字典键重复赋值),取最后的赋值。>>> myuniversity_dict =
2022-06-04

python中的有序字典

字典是python开发中的一种常用的数据结构,但是它在迭代时并不是按照元素的顺序进行,可能在某些场景下无法满足我们的需求,这就引入了有序字典  OrderedDict是dict的子类,它记住了内容添加的顺序  OrderedDict在比较时
2023-01-31

Python 中的字典操作

字典:dict字典在其他编程语言中又称作关联数组或散列表通过键实现元素存取: 无序集合,可变类型容器,长度可变,异构,嵌套表示方法:phonebook = {'Alice':'1234','Beth':'9102',...}字典由键及相对应
2023-01-31

python中字典的练习

源代码如下:#!/usr/bin/env python#Filename:addressbook.pyadbook={'alice':100,'bob':101,'chanel':102}while True:    choice=raw_
2023-01-31

python中字典的比较

今天碰到一个字典比较的问题,就是比较两个字典的大小,其实这个用的不多,用处也没多少,但是还是记录一下。字典的比较顺序如下:1、先比较字典的元素的个数,那个多,就哪个大;2、比较字典的键,在比较字典的键的时候,需要注意的是比较的顺序是按照ke
2023-01-31

Python中字典的操作

字典查找速度快字典是无序的;(python3.6以上版本有序)字典支持乘加、成员检查、长度、最小值、最大值、嵌套;字典值不支持列表、元组、索引、切片、元素赋值跟切片赋值;字典通过大括号表示;字典的内容是项;项由键和值组成,中间用冒号隔开;项
2023-01-30

Python中字典如何使用

这期内容当中小编将会给大家带来有关Python中字典如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python字典应用方式1)get(key,default=None) 返回键值key对应的值;如
2023-06-17

python中defaultdict字典怎么用

这篇文章给大家分享的是有关python中defaultdict字典怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。defaultdict是普通字典dict的一个子类。通过collections库的defaul
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录