数据类型划分:可变数据类型,不可变数据类型
不可变数据类型:元祖 bool int str 可哈希
可变数据类型:list,dic set 不可哈希
dict key 必须是不可变数据类型,可哈希
value:任何数据类型
dict优点:二分查找去查询
存储大量的关系型数据
特点:无序的,无索引
dic1={'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
#增
dic1['high'] = 185 #没有键值对,添加
print(dic1)
dic1['age'] = 16 #存在键值对,则覆盖
print(dic1)
dic1.setdefault('weight',150) #有键值对,不做任何改变,没有才增加
print(dic1)

{'high': 185, 'sex': 'male', 'k': 'v', 'age': 18, 'name': 'jin'}
{'high': 185, 'sex': 'male', 'k': 'v', 'age': 16, 'name': 'jin'}
{'sex': 'male', 'k': 'v', 'weight': 150, 'high': 185, 'age': 16, 'name': 'jin'}

删除

dic1.pop('age') #有返回值
print(dic1)
print(dic1.pop('six',None)) #可设置返回值
print(dic1) dic1.popitem() #随机删除,有返回值。元祖里是删除键值
print(dic1)
dic1.clear() #清空字典
print(dic1)
del dic1['name']
print(dic1) {'name': 'jin', 'sex': 'male', 'k': 'v'}
None
{'name': 'jin', 'sex': 'male', 'k': 'v'}
{'sex': 'male', 'k': 'v'}
{}
{'age': 18, 'sex': 'male', 'k': 'v'}

dic1['age']=16
print(dic1)
dic = {"name":"jin","age":18,"sex":"male"}
dic2 = {"name":"alex","weight":75}
dic2.update(dic) # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中
print(dic)
print(dic2) {'name': 'jin', 'age': 16, 'k': 'v', 'sex': 'male'}
{'name': 'jin', 'age': 18, 'sex': 'male'}
{'weight': 75, 'name': 'jin', 'age': 18, 'sex': 'male'}

dic1={'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
print(dic1.keys(),type(dic1.keys()))
print(dic1.values())
print(dic1.items()) dict_keys(['age', 'sex', 'k', 'name']) <class 'dict_keys'>
dict_values([18, 'male', 'v', 'jin'])
dict_items([('age', 18), ('sex', 'male'), ('k', 'v'), ('name', 'jin')])
print(dic1.get('name1',‘no this key’))  #不会报错
no this key
字典循环
for i in dic1:
print(i)
name
k
age
sex for i in dic1.keys():
print(i)
name
k
age
sex for i in dic1.items():
print(i)
('name', 'jin')
('k', 'v')
('age', 18)
('sex', 'male') for i in dic1.values():
print(i)
jin
v
18
male a = 1
b = 2
a,b=b,a
print(a,b)
2 1 for k,v in dic1.items():
print(k,v)

name jin
k v
age 18
sex male

嵌套

dic = {
'name':['alex','wusir','taibai'],
'py9' :{
'time':'',
'learn_money':19800,
'addr':'CBD',
},
'age':21
} dic['age']=56
print(dic['name'])
dic['name'].append('ritian')
print(dic)
dic['name'][1] = dic['name'][1].upper()
print(dic) l = [1,2,'wusi']
l[2]=l[2].upper()
print(l) dic['py9'] ['femail']=6
print(dic) {'name': ['alex', 'wusir', 'taibai', 'ritian'], 'age': 56, 'py9': {'learn_money': 19800, 'time': '', 'addr': 'CBD'}}
{'name': ['alex', 'WUSIR', 'taibai', 'ritian'], 'age': 56, 'py9': {'learn_money': 19800, 'time': '', 'addr': 'CBD'}}
[1, 2, 'WUSI']
{'name': ['alex', 'WUSIR', 'taibai', 'ritian'], 'age': 56, 'py9': {'learn_money': 19800, 'time': '', 'addr': 'CBD', 'femail': 6}}
info =input('>>>')
for i in info:
if i.isalpha():
info = info.replace(i," ")
l = info.split()
print(len(l)) >>>123ab123
2

Python9-字典-day5的更多相关文章

  1. 【DG】Oracle_Data_Guard官方直译

    [DG]Oracle Data Guard官方直译 1 Oracle Data Guard 介绍   Oracle Data Guard概念和管理10g版本2   Oracle Data Guard ...

  2. DVWA实验之Brute Force(暴力破解)- Low

    DVWA实验之Brute Force-暴力破解- Low     这里开始DVWA的相关实验~   有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2 ...

  3. Oracle错误览表

    Oracle 错误总结及问题解决 ORA     本文转自:https://www.cnblogs.com/zhangwei595806165/p/4972016.html  作者@承影剑 ORA-0 ...

  4. day5字典作业详解

    1.day5题目 1.有如下变量(tu是个元祖),请实现要求的功能 tu = ("alex", [11, 22, {"k1": 'v1', "k2&q ...

  5. python全栈开发-Day5 元组、字典

    python全栈开发-Day5  元组.字典 一.前言 首先,不管学习什么数据类型,我们都带着以下几个问题展开学习: #1:基本使用 1 .用途 2 .定义方式 3.常用操作+内置的方法 #2:该类型 ...

  6. DAY5:字典

    无序性: # -*- coding:utf-8 -*- # Author: TanJincheng room = { "s2": "han meimei", & ...

  7. DAY5(PYTHON) 字典的增删改查和dict嵌套

    一.字典的增删改查 dic={'name':'hui','age':17,'weight':168} dict1={'height':180,'sex':'b','class':3,'age':16} ...

  8. python学习day5 数据类型Ⅲ(字典)

    day5 字典 回顾&补充 面试题 #数据类型判断a = 1 #intb = (1) #intc = ('1') #strd = (1,) #tuple int py2/py3 除法 强制转换 ...

  9. python 全栈开发,Day5(字典,增删改查,其他操作方法)

    一.字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.存储大量的数据,是关系型数据,查询数据快. 列表是从头遍历到尾字典使用二分查找 二分查找也称折半查找(Bi ...

  10. day5:字典dict

    1, 判断是不是列表 li = ['lis3a', 'mary', 'lucy', 'hh', 'kk', 'gg', 'mm', 'oo', 'vv'] if type(li) == list: p ...

随机推荐

  1. IE_Script70:没有权限问题处理

    IE9浏览器执行JS时报"SCRIPT70:没有权限"错误. 经百度,发现原来与jQuery版本有关系,在jQuery1.9.1版本时会有此问题,升级版本即可.

  2. [android][avd位置修改][需自己手动]

    1.找到avd目录(C:\的那个)并打开,移动.avd文件到需要的位置. 2.修改ini文件path,完成.

  3. if __FILE__ == $0 end

    if __FILE__ == $0 end __FILE__是一个“具有魔力”的变量,它代表了当前文件名.$0是用于启动程序的文件名.那么代码“if __FILE__ == $0”便意味着检查此文件是 ...

  4. spring cloud各种超时时间设置

    如果是zuul(网关)的超时时间需要设置zuul.hystrix.ribbon等三部分: #zuul超时设置#默认1000zuul.host.socket-timeout-millis=2000#默认 ...

  5. Django的学习需要掌握的一些基础和初步搭建自己的框架

    一.Django的学习需要掌握的一些基础 第一个需要注意的点:客户端发送过来的数据结构组成: 第二个需要注意的点:动态网页和静态网页 静态网页:用户发送请求,服务端找到对应的静态文件返回给浏览器,静态 ...

  6. P3375 【模板】KMP字符串匹配(全程注释,简单易懂)

    题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next.如果你不知道这是什么意思也不要问,去百度搜[ ...

  7. iOS 循环引用解决方案

    一.BLOCK 循环引用 一般表现为,某个类将block作为自己的属性变量,然后该类在block的方法体里面又使用了该类本身.构成循环引用. // 定义 block 的时候,会对外部变量做一次 cop ...

  8. 洛谷 P2362 围栏木桩

    题目描述 某农场有一个由按编号排列的n根木桩构成的首尾不相连的围栏.现要在这个围栏中选取一些木桩,按照原有的编号次序排列之后,这些木桩高度成一个升序序列.所谓的升序序列就是序列中的任何一个数都不小于它 ...

  9. 洛谷 P2910 [USACO08OPEN]寻宝之路Clear And Present Danger

    题目描述 Farmer John is on a boat seeking fabled treasure on one of the N (1 <= N <= 100) islands ...

  10. v-if与v-show的区别与选择

      v-if与v-show的区别与选择 官网给的区别 v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建. v-if也是惰性的:如果在初始渲染时条件 ...