18、python基础学习-字典

 1 #!/usr/bin/env python
 2 #__author: hlc
 3 #date: 2019/5/26
 4 #字典是python中唯一的映射类型,采用键值对(key-value)的形式进行存储,python对key进行哈希函数运算,根据结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元祖。
 5
 6 #字典的两种创建方法
 7 # dic = {"asd":"123","asgd":456}
 8 # print(dic)
 9 #
10 # a = dict(((1,4),(5,7))) #工厂模式
11 # print(a)
12
13 #增加
14 # dict1 = {}
15 # dict1["asd"]=123 #如果健存在,会进行覆盖,不存在会添加
16 # print(dict1) #{‘asd‘: 123}
17 # dict1.setdefault("qwe",3245) #如果健存在,不会进行覆盖,不存在会添加,都会返回对应的值
18 # print(dict1) #{‘asd‘: 123, ‘qwe‘: 3245}
19
20 #查找(通过键查找)
21 # dic2 = {"asd":"123","asgd":456,"erqw":"sdfdsg"}
22 # print(dic2["asd"]) #123
23 # print(dic2.keys()) #获取字典中所有键,dict_keys([‘asd‘, ‘asgd‘, ‘erqw‘])
24 # print(list(dic2.keys())) #转换成列表,[‘asd‘, ‘asgd‘, ‘erqw‘]
25 # print(dic2.values()) #获取字典中所有的值,dict_values([‘123‘, 456, ‘sdfdsg‘])
26 # print(list(dic2.values())) #转换成列表,[‘123‘, 456, ‘sdfdsg‘]
27 # print(dic2.items()) #获取字典中的所有值,dict_items([(‘asd‘, ‘123‘), (‘asgd‘, 456), (‘erqw‘, ‘sdfdsg‘)])
28 # print(list(dic2.items())) #转换成列表,[(‘asd‘, ‘123‘), (‘asgd‘, 456), (‘erqw‘, ‘sdfdsg‘)]
29
30 #修改
31 # dic2 = {"asd":"123","asgd":456,"erqw":"sdfdsg"}
32 # dic2["asd"]=789
33 # print(dic2) #{‘asd‘: 789, ‘asgd‘: 456, ‘erqw‘: ‘sdfdsg‘}
34 # dic3 = {"a":1,"b":2,"asd":3}
35 # dic2.update(dic3) #将dict3添加到dict2中,如果键存在,会进行更新
36 # print(dic2) #{‘asd‘: 3, ‘asgd‘: 456, ‘erqw‘: ‘sdfdsg‘, ‘a‘: 1, ‘b‘: 2}
37
38 #删除
39 # dic2 = {"asd":"123","asgd":456,"erqw":"sdfdsg"}
40 # del dic2["asgd"] #删除对应的键值对
41 # print(dic2) #{‘asd‘: ‘123‘, ‘erqw‘: ‘sdfdsg‘}
42 # dic3 = dic2.pop("asd") #删除对应的键值对,并将对应的内容返回
43 # print(dic3) # 123
44 # dic2 = {"asd":"123","asgd":456,"erqw":"sdfdsg"}
45 # dic4 = dic2.popitem() #随机删除,并将对应的键值以元祖的方式返回
46 # print(dic4) # (‘erqw‘, ‘sdfdsg‘)
47 # dic2.clear() #将字典中的内容进行清空
48 # print(dic2) # {}
49 #del dic2 #删除整个字典
50
51 #其他操作
52 # a = ["a","b","c","d","e"]
53 # dic3 = dict.fromkeys(a,"test") #将列表中的元素作为键,test作为值生成字典
54 # print(dic3) #{‘a‘: ‘test‘, ‘b‘: ‘test‘, ‘c‘: ‘test‘, ‘d‘: ‘test‘, ‘e‘: ‘test‘}
55
56 #排序
57 # dic5 = {4:"asdf",2:"dfgk",8:"asdfg"}
58 # dic6 = sorted(dict.items(dic5)) # 按键排序,以列表的形式返回键值对,[(2, ‘dfgk‘), (4, ‘asdf‘), (8, ‘asdfg‘)]
59 # dic6 = sorted(dict.values(dic5)) # 按值排序,以列表的形式返回值,[‘asdf‘, ‘asdfg‘, ‘dfgk‘]
60 # dic6 = sorted(dic5) # 按键排序,以列表的形式返回键,[2, 4, 8]
61 # print(dic6)
62
63 #字典的遍历
64 # dic5 = {4:"asdf",2:"dfgk",8:"asdfg"}
65 # for i in dic5 :
66 #     print(i,dic5[i]) #通过键进行遍历 效率最高
67 # 4 asdf
68 # 2 dfgk
69 # 8 asdfg
70 # for i in dic5.items() :
71 #     print(i) # 通过字典的内建方法进行变量
72 # (4, ‘asdf‘)
73 # (2, ‘dfgk‘)
74 # (8, ‘asdfg‘)
75 # for i,v in dic5.items() :
76 #     print(i,v) # 通过两个值进行接受
77 # 4 asdf
78 # 2 dfgk
79 # 8 asdfg

原文地址:https://www.cnblogs.com/hlc-123/p/10925995.html

时间: 2024-11-09 15:04:56

18、python基础学习-字典的相关文章

python基础学习-字典

#__author:"Feng Lin" #date: 2018/8/25 #增: dict1={'name':'lin','age':21,'sex':'man'} #有键就添加 dict1['hight']=185 print(dict1) #无键就覆盖 dict1['age']=24 print(dict1) #存在键,不改变,没有才添加 dict1.setdefault('weight') print(dict1) dict1.setdefault('weight',150)

python基础之字典及字符

python基础之字典及字符串处理 本节内容 字典介绍及内置方法 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的.可哈希表示key必须是不可变类型,如:数字.字符串.元组. 字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型.列表是有序的对象结合,字典是无序的对象集合.两者

Python 基础学习 网络小爬虫

<span style="font-size:18px;"># # 百度贴吧图片网络小爬虫 # import re import urllib def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) imgli

python基础学习05(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #dict{键:值} #哈希 #注:字典是无顺序的,所以你懂的 #创建与赋值 dict1={} dict2={'name':'apply','avg':24,'sex':'man'} print dict1,dict2

python基础学习08(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #异常 """ NameError: 尝试访问一个未申明的变量 ZeroDivisionError:  除数为零 SyntaxError: 解释器语法错误 IndexError: 请求的索引超出序列范

python基础学习12(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #python class #面向对象编程oop思想,3个特性:封装.继承.多态,在其他方面的功能,比如重载,模拟等,也可以自定义自己需要的类 #在python中,面向对象主要2个:类和类实例 #类与实例 #类与实例有关

python基础学习09(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #什么是函数 #就是引用,创建,使用 #例子 def foo(): print '233' foo() #返回与函数类型 def foo1():#是一个过程 print 'hello world!' foo1() foo

python基础学习11(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #执行环境 #可调用对象 """ 许多的python 对象都是我们所说的可调用的,即是任何能通过函数操作符“()”来调用的对象.要调用可调用对象, 函数操作符得紧跟在可调用对象之后.Python 有4

python基础学习2

python中的运算符 1.算术运算符:用来做算术运算的符号 ①.+ :求和,也可以做连接符 ②. - :求差 ③. * : 求积 ④. / :求商 ⑤.% :取余 ⑥.//  :取整 ⑦.**  :次方 注意:只能是数值 print(3*3) #求积结果:9 print(9/2) #相除结果:4.5 print(3**4) #3的4次方,结果:81 print(9//4) #小数部分直接丢掉,取整结果:2 print(13%3) #取余结果:1 运行结果是 9 4.5 81 2 1 比较运算符