字典

# 存储数据 字典的查找快一些
# 不可哈希的,就是可变的数据 可变的数据不能哈希 不可变的数据能哈希

# python3.6 版本以上 字典默认是有序的, 咱们怎么写的就怎么打印出来
# 但是 出去和别人说的时候,字典是无序的 3.5 测试

# 字典的键: 不可变数据类型 键不能重复,重复的话就会把值覆盖
# 字典的值: 可以随意

字典通过键去查找值

dic["***"]

#增:

dic[11]='小米'

dic.setdefault(11,'华为')

1.先去字典中通过11这个键去查有没有值 就是None

2如果是值 就不进行添加

3.如果是None,就添加  返回的是添加的值

#删

del dic 删除整个字典

del dic[1] 通过键删除

dic.pop("25")pop方法可以更改它失败时的默认返回值

dic.clear()

dic.popitem()  #随机删除   python3.6删除最后一个  3.5中随机删除

#改:

dic1={"33":'jj','44':'tt'}

dic2={"33":'gg',"66":"22"}

#dic1.update(dic2)

#更新  被更新的内容如果在要更新的内容中那值就会被覆盖

#两个字典中,都没有一样的就是合并

#print(dic2)

dic2['33'] = 'tsp'字典没有叫增有的话叫改

#查

print(dic2[2]) #通过键查找  如果不存在就报错

print(dic2.get(2))  #通过键查找  如果不存在就不会报错,返回None,get方法可以更改none为其他语句

# print(dic2.setdefault('33')) # 不存在返回None

# 其他操作:
# for i in dic2:
# print(i)

# for i in dic2:
# print(dic2.get(i))

# for i in dic2.keys():
# print(i)

# for i in dic2.values():
# print(i)

# for i in dic2.items():
# print(i)

# for i in dic2:
# print(i,dic2[i])

# print(dic2.keys()) # 高仿列表 dict_keys(['33', '66']) 不能使用下标
# print(dic2.values()) # 高仿列表 dict_values(['gg', 'pp']) 不能使用下标

# 解构
有对应值都可以解构
# a,b,c = 1,2,3 # 1,2,3 True,False,True '456' [7,8,9] (7,8,9) {'1':8,'2':9,'3':0}
# print(a)
# print(b)
# print(c)

# 面试题:

# a = 10
# b = 20
# a,b = b,a # 10000%
# print(b) # 10
# print(a) # 20

# for k,v in dic2.items(): # k,v = ('33','gg')
# print(k)
# print(v)

# keys() # 获取所有的键 高仿列表
#
# values() # 获取所有的值 高仿列表
#
# item() # 获取键值 以元祖的形式显示

# print(dic2.keys())   # 高仿列表 dict_keys(['33', '66'])  不能使用下标
# print(dic2.values()) # 高仿列表 dict_values(['gg', 'pp']) 不能使用下标

###############################这是坑##############################################

这个方法可以快速创建一个字典
# dic3 = dict.fromkeys([1,2,3,4,5,6,7,8,9,0],[1,2,3])
# #第一个参数是键 要是可迭代的对象
# #第二个参数是值, 值是无所谓 是因为创建的新字典的值用的都是一个 值是一个可变数据类型(可变数据类型大家指向的是同一个地址)
# print(dic3)
# dic3[3].append(9)
# print(dic3)

##################################################################################

 字典的嵌套:

# dic = {'汪峰':{'光头强':'电锯',
# '葛慧倩':'熊大',
# '国际章':'熊二'},
# '陈冠希':{'张柏芝':'喜剧之王',
# '阿娇':'千机变'},
# '韦小宝':{'建宁':'公主',
# '龙儿':'教主夫人',
# '双儿':{'大双':'榴莲','小双':'椰子'},
# '阿珂':'刺客'}}
# dic1 = dic['陈冠希']['阿娇']
# print(dic1)
# print(dic['韦小宝']['双儿'])
# print(dic['韦小宝']['双儿']['小双'])

# 集合:

# set 集合 存储数据 天然去重 无序 不能是用下标(集合只要用处去除列表重复值)
# se = {1,2,3,4,52,234,12,21,12,123,1,11,2,3,1,2,3,21} # 列表有点 没有值得字典
# print(se)

# 面试题

# lst = [1,2,3,4,12,3,4]
# print(list(set(lst)))

# for i in {1,2,3,4}:
# # print(i)

# se.add(6)
# # #
# # # print(se)
# # #
# # # se.update([1,23,34]) # 可迭代对象
# # # print(se)

# se.clear()
# se = {1,2,3,4}
# print(se.pop())
#
# se.remove(4) # 通过内容删除
# print(se)

# s1 = {"刘能", "赵四", "皮歌藏"}
# s2 = {"刘科长", "冯乡长", "皮歌藏"}

# print(s1 & s2) # 俩个都有的
# print(s1 | s2) # 两个合并
# print(s1 - s2) # 不显示共有的
# print(s1 ^ s2) # 显示不共有的

# print(s1 < s2)
# print(s1 > s2)

# dic = {{1,2}:'你好'}
# print(dic)

冻结的集合可以当key值
# s1 = frozenset(['冯乡长', '刘能', '赵四', '刘科长'])
# print(s1)
#
# dic = {s1:'你好'}
# print(dic)

# print(dic.fromkeys('1','nihao'))

# dic = {}
# # dic.setdefault('123','nihao')
# # print(dic)

一道我认为做法很巧妙的题

输出{"上海":1.......}

cars = ['鲁A32444','鲁B12333','京B8989M','黑C49678',
'黑C46555','沪B25041']
locals = {'沪':'上海','黑':'黑龙江','鲁':'山东',
'鄂':'湖北'}

dic = {}
for em in cars:
if em[0] in locals:
dic[locals[em[0]]] = dic.get(locals[em[0]],0) + 1#我第一次取的时候dic字典是空的无法取到值返回的是零,第二次的时候重复就取到了输出他的key进行+1
print(dic)

本题巧妙的使用了get这个方法对新的字典进行操作完成了巧妙的完成了自加操作

python 小兵(3)字典的更多相关文章

  1. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  2. Python基础知识---字典

    现在在实习期间,好久没用Python了,今天在做Java项目时用的HashMap让我联想到了Python中的字典,就写一些Python字典的知识吧,复习复习. 字典:  key --> valu ...

  3. python基础之字典dict和集合set

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...

  4. python中 字符 字典 列表之间的转换

    1 字典 转 字符 定义一个字典:dict = {'name': 'python', 'age': 7}字典转字符 可以使用str强制转换 如: str(dict) 此时dict的类型就是字符型了 2 ...

  5. python集合与字典的用法

    python集合与字典的用法 集合: 1.增加  add 2.删除   •del 删除集合 •discard(常用)删除集合中的元素  #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...

  6. python之路--字典

    一. 字典 字典是以key:value的形式来保存数据的,用{}表示 字典的增删改查 字典的增加 dic = {"意大利": "李云龙", "美国&q ...

  7. Python数据类型(字典和集合)

    1.5 Dictionary(字典) 在Python中,字典用放在花括号{}中一系列键-值对表示.键和值之间用冒号分隔,键-值对之间用逗号分隔. 在字典中,你想存储多少个键-值对都可以.每个键都与一个 ...

  8. python创建有序字典及字典按照值的大小进行排序

    有序字典 在Python中,字典类型里面的元素默认是无序的,但是我们也可以通过collections模块创建有序字典 # -*- coding:utf-8 -*- # python有序字典需导入模块c ...

  9. python 实现有序字典

    python 实现有序字典 Python默认的字典,是不按顺序存储.输出我们添加在字典中的内容的,即是无序的字典.python 使用OrderedDict函数实现有序的字典. 示例: d = dict ...

随机推荐

  1. 【LeetCode】645. Set Mismatch 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Hash方法 直接计算 日期 题目地址: https ...

  2. 理解HTTP协议中的multipart/form-data

    前提 之前在写一个通用HTTP组件的时候遇到过媒体(Media)类型multipart/form-data的封装问题,这篇文章主要简单介绍一下HTTP协议中媒体类型multipart/form-dat ...

  3. CS5265完全替代兼容龙迅LT8711|Type-C/DP1.2 to HDMI2.0方案芯片|CS5265兼容TYPEC手机笔电

    龙迅LT8711是一款Type-C/DP1.2 to HDMI2.0方案芯片.LT8711HE是一款高性能Type-C/DP1.2至HDMI2.0转换器,设计用于将USB typec或DP1.2源连接 ...

  4. bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)

    前言: 在平时的工作中,经常需要批量统计文件和数据,如果逐个统计的话太耗时,而且容易出错那么有没有什么快速的方法呢,这里给大家介绍一种简单高效的方法. 方法: 1.打开CMD命令: 按下 Ctrl+R ...

  5. Ditto剪贴板增强工具

    1.简介 Ditto是一款强大的Windows剪贴板增强工具,它支持64位操作系统,而且完全免费,绿色开源,支持中文,而且还有免安装的绿色版本. 开启Ditto后,不会有任何程序界面出现,它只是默默地 ...

  6. Hive安装Version2.1.0

    Hive安装,基于版本2.1.0, 使用apache-hive-2.1.0-bin.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 hive zdh-9 hive Ru ...

  7. dokcer部署Redis哨兵模式

    架构图 哨兵的介绍 sentinel , 中文是哨兵. 哨兵是redis 集群架构中非常重要的一个组件,主要功能如下: (1)集群监控:负责监控reidis master 和slave 进程是否正常工 ...

  8. Python3.7 发送邮件 报‘[WinError 10061] 由于目标计算机积极拒绝,无法连接’错误的解决方法

    背景: 最近在练习Python 的邮件发送功能 照着教程写了一个简单的demo 结果运行时报如下错误:[WinError 10061] 由于目标计算机积极拒绝,无法连接. 如图: 解决路径如下: St ...

  9. Foxmail:‘错误信息:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败’的解决办法

    每日必开-Foxmail 但是有连续半个多月未收到1封邮件 心想 大过年的 大家都不发邮件了 么 并未特别在意 直到该接收工资条的日子 我的Foxmail依然毫无动静 点了一下 收取 结果报如下错误: ...

  10. 利用 Maven 创建 Docker 镜像并且推送到私有注册中心

    利用 Maven 命令生成项目框架 mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -Darchetype ...