五、python沉淀之路--字典

摘要:
1dic={2“k1”:'v1',3“k2”:'v2'4}5v=dic。get6print111113,pop:删除并返回值。如果它不存在,将返回以下备用值,而不会出现错误1dic={2“k1”:'v1',3“k2”:'v2'4}5v1=dic。pop6print7v=dic。pop8print1{‘k1‘:‘v1‘,‘k2‘:’v2‘}902{‘k2’:‘v2’}v14,提升使用m:删除密钥和值1dic={2“k1”:‘v1’,3“k2”:“v2”4}5k,v=dic。popitem()6print1k2v2{“k1”:“v1”}5。setdefault的用法已存在,将不会设置。与当前键对应的值不存在。设置,获取与当前键1dic={2“k1”:'v1',3“k2”:'v2'4}5v=dic对应的值。setdefault6print7v1=dic。setdefault8print1{‘k1’:‘v1’,‘k2’:“v2”,‘k111’:‘123’}1232{‘k1’:‘v1’,‘k2’:‘v2’,‘k11’:‘123'}v16,如果有更新,请添加1dic={2“k1”:‘v1”,3“k2”:“v2’4}5dic。更新6print7dic。update8print1{‘k1‘:‘111‘,‘k2‘:’222‘,‘k3‘:‘333‘}2{‘k2’:99,‘k2’:88,‘k’:‘333’}7,key()value()items()getupdate II。1.基本结构:键值对1info={2“k1”:“v1”,#键值对3“k2”:”v2“4}2。字典值可以是任何值。1info={2“k1”:18,3“k2”:真,4“k3”:[511,6[],7(),822933,10{11'kk1':'vv1',12'kk2':'vv2',13'kk3':,14}15],16“k4”:17}3。字典:无序。您可以通过多次打印看到,每次的顺序都不同。4.布尔值(1,0)、列表和字典不能用作字典的键。

一、

1、根据序列,创建字典,并指定统一的值

v = dict.fromkeys(["k1",1234,"999"],222)
print(v)
1 {'k1': 222, 1234: 222, '999': 222}

2、根据key 获取值,key不存在时,报错;get方法,存在时返回对应值,不存在时返回后面代替值,不会报错

1 dic = {
2     "k1":'v1',
3     "k2":'v2'
4 }
5 v= dic.get('k3',1111)
6 print(v)
1 1111

3、pop:删除并返回值,如果不存在时,返回后面备用的值,不会报错

1 dic = {
2     "k1":'v1',
3     "k2":'v2'
4 }
5 v1 = dic.pop('k3',90)
6 print(dic,v1)
7 v = dic.pop('k1',90)
8 print(dic,v)
1 {'k1': 'v1', 'k2': 'v2'} 90
2 {'k2': 'v2'} v1

4、popitem的用法:同时删除键和值

1 dic = {
2     "k1":'v1',
3     "k2":'v2'
4 }
5 k,v = dic.popitem()
6 print(k,v,dic)
1 k2 v2 {'k1': 'v1'}

5、setdefault的用法

已存在,不设置,获取当前key对应的值
不存在,设置,获取当前key对应的值

1 dic = {
2     "k1":'v1',
3     "k2":'v2'
4 }
5 v = dic.setdefault('k111','123')
6 print(dic,v)
7 v1 = dic.setdefault('k1','123')
8 print(dic,v1)
1 {'k1': 'v1', 'k2': 'v2', 'k111': '123'} 123
2 {'k1': 'v1', 'k2': 'v2', 'k111': '123'} v1

6、update更新,有则更新,无则添加

1 dic = {
2     "k1":'v1',
3     "k2":'v2'
4 }
5 dic.update({"k1":'111',"k2":'222',"k3":'333'})
6 print(dic)
7 dic.update(k1=99,k2=88,)
8 print(dic)
1 {'k1': '111', 'k2': '222', 'k3': '333'}
2 {'k1': 99, 'k2': 88, 'k3': '333'}

7、 keys()      values()      items()      get         update

二、

1、基本结构:键值对

1 info = {
2     "k1": "v1", # 键值对
3     "k2": "v2"
4 }

2、字典的value可以值任意值。

 1 info = {
 2     "k1": 18,
 3     "k2": True,
 4     "k3": [
 5         11,
 6         [],
 7         (),
 8         22,
 9         33,
10         {
11             'kk1': 'vv1',
12             'kk2': 'vv2',
13             'kk3': (11,22),
14         }
15     ],
16     "k4": (11,22,33,44)
17 }

3、字典:无序。通过多打印几次就可以看到,每次顺序不一样

4、布尔值(1,0)【当key值中已经有0或1存在时】、列表、字典不能作为字典的key。

1 info ={
2     2: 'asdf',
3     "k1": 'asdf',
4     True: "123",
5     # [11,22]: 123       列表可变,固不能作为key
6     (11,22): 123,
7     # {'k1':'v1'}: 123      字典可变,固不能作为key
8 
9 }

5、字典可以通过索引key 键来找到对应的值

6、字典支持del的方式来删除,

1 dic = {
2     "k1":'v1',
3     "k2":'v2'
4 }
5 
6 del dic["k1"]
7 print(dic)
1 {'k2': 'v2'}

7、字典支持for循环,配合一起用的有: .keys()   .values()     .items()

 1 dic = {
 2     "k1":'v1',
 3     "k2":'v2',
 4     "k3":'v3'
 5 }
 6 
 7 for item in dic:
 8     print(item)
 9 for i in dic.keys():
10     print(i)
11 for n in dic.values():
12     print(n)
13 for k,v in dic.items():
14     print(k,v)
 1 k1
 2 k2
 3 k3
 4 k1
 5 k2
 6 k3
 7 v1
 8 v2
 9 v3
10 k1 v1
11 k2 v2
12 k3 v3

 补充:

enumerate 的用法,以及与len    range   for  配合使用

  • enumerate()是python的内置函数
  • enumerate在字典上是枚举、列举的意思
  • 对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
  • enumerate多用于在for循环中得到计数
1 li = ["","","",""]
2 for n in range(len(li)):
3     print(n)
4 
5 for index,item in enumerate(li):
6     print(index,item)
7 for index,item in enumerate(li,1):
8     print(index,item
 1 0
 2 1
 3 2
 4 3
 5 0 我
 6 1 7 2 8 3 9 110 211 312 4 试

免责声明:文章转载自《五、python沉淀之路--字典》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇git 生成公钥、私钥方法与clone使用方法什么是xss攻击下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

remove_copy_if

std::remove_copy_if - huycwork的日志 - 网易博客 remove_copy_if 原型: #include <algorithm>output_iterator remove_copy_if( input_iterator start, input_iterator end, output_iterator...

ubuntu_x64 安装 Adobe Reader

前言:Adobe Reader for linux 只有32bit 1.添加源:You will need to enable the Canonical Partners repository in Software Sources (search in Dash) 2. sudo apt-get update sudo apt-get insta...

实例讲解hadoop中的hive查询(python语言实现) 实践检验真理 51CTO技术博客

实例讲解hadoop中的hive查询(python语言实现) - 实践检验真理 - 51CTO技术博客 实例讲解hadoop中的hive查询(python语言实现) 2011-12-05 16:47:51 标签:数据挖掘 python hadoop 休闲 hive 版权声明:原创作品,谢绝转载!否则将追究法律责任。 条件,假设配置好了hadoop...

编译器是怎样工作的?用lex和yacc 写一个计算器(2)

幸运的是 ----------------------------------------- 现在你可以看明白了上边的规则,问题又来了,我们怎么来处理这种语法的规则呢? 该不会要自己写一个人肉编译吧?该不会要自己写一个人肉编译吧?该不会要自己写一个人肉编译吧? 哈哈,不要担心,我们有现成的工具,它的名字叫另一种C编译器(yacc , yet another...

译:DOM2中的高级事件处理

译:DOM2中的高级事件处理 译:DOM2中的高级事件处理 17.2. DOM2中的高级事件处理(Advanced Event Handling with DOM Level 2) 迄今为止,在本章中出现的事件处理技术都是DOM0级的一部分,所有支持JavaScript的浏览器都支持DOM0的API.DOM2定义了高级的事件处理...

C++函数参数中的省略号 waterday的博客 51CTO技术博客

C++函数参数中的省略号 - waterday的博客 - 51CTO技术博客 C++函数参数中的省略号 2010-06-09 20:48:32 标签:C++ 函数 省略号 参数 休闲 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://waterday.blog.51cto.co...