ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

(转)Python:字典(zip, dict)

2021-09-19 19:04:48  阅读:188  来源: 互联网

标签:zip Python three value dict key print 字典


原文:https://www.jianshu.com/p/17fc4462b6f9

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }
#键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

访问字典中的值

dict={key1:value1, key2:value2}
dict[key1]

修改字典的值

增加新的键/值对,修改或删除已有键/值

>>> d={'a':1,'b':2}
>>> print(d['a'])
1
>>> d['c']=3#增加键对
>>> print(d['c'])
3
>>> d['b']=4#修改键对
>>> print(d['c'])
3
>>> print(d)
{'a': 1, 'c': 3, 'b': 4}

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。
删除一个字典用del命令,如下实例:

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del dict['Name'] # 删除键 'Name'
dict.clear()     # 清空字典
del dict         # 删除字典
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

字典的一键多值

d1={}
key=1
value=2
d1.setdefault(key,[]).append(value)
value=2
d1.setdefault(key,[]).append(value)
empty_dict = dict() #创建一个空字典
print(empty_dict)
a = dict(one=1,two=2,three=3) 
print(a)
b = dict(zip(['one','two','three'],[1,2,3]))
print(list(zip(['one','two','three'],[1,2,3])))
print(b)
c = dict([('one', 1), ('two', 2), ('three', 3)])
print(c)
c1 = dict([('one', 1), ('two', 2), ('three', 3),('three', 4),('three', 5)])
print(c1)#如果键有重复,其值为最后重复项的值。 


#传入映射对象,字典创建字典  

d = dict({'one': 1, 'two': 2, 'three': 3}) 
print(d) 
print(a == b == c == d)

zip函数

zip函数可以接受多个参数,返回的结果是列表,列表中的每一个元素是元组的数据类型

list1 = [1,2,3]
list2 = [4,5,6]
list3 = [7,8,9]
zip(list1,list2,list3)
#最后的返回的结果是:
[(1,4,7),(2,5,8),(3,6,9)]
2)
list1 = [1,2,3]
list2 = [4,5,6,7]
zip(list1,list2)
返回的结果是
#[(1,4),(2,5),(3,6)]
list1 = [1,2,3]
zip(list1)
#最后的返回结果是
[(1,),(2,),(3,)]
zip()
#最后的返回结果是[]

2.dict函数

dict函数用来快速构造字典,我们可以通过向dict函数传递不同的参数一不同的方式来创建字典,下面我们来了解一下几种常见的构造字典的方式
1)创建空字典

a = dict()#创建空字典
print(a)
结果
{}

2)传入关键字

b = dict(a=1,b=2,c=3)
print(b)
得到的结果是:
{"a":1,"b":2,"c":3}

3)传入一个字典:

c = dict({'three': 3, 'four': 4})
print(c)
结果
{'four': 4, 'three': 3}

4)传入可迭代对象

d = dict([('one', 1), ('two', 2), ('three', 3)])
print(d)
得到的结果是
{'three': 3, 'two': 2, 'one': 1}

print (’——————一键多值———————’)
dic1 = {}
key = 1
value = 2
dic1.setdefault(key, []).append(value)
value = 3
dic1.setdefault(key, []).append(value)
print(‘dic1 = ’, dic1)

json一键对应多值

# -*- coding:utf-8 -*-  
import json
dic1 = {}
key = 'key1'
value = 'value1'
dic1.setdefault(key, []).append(value)
value = 'value2'
dic1.setdefault(key, []).append(value)
print('dic1=', dic1)
jsobj=json.dumps(dic1)
with open('result.json','w')as f:
  f.write(jsobj)
  f.close()

字典生成json文件

# -*- coding:utf-8 -*-  
import json
key = ['key1','key2','key3']
value = ['value1','value2','value3']
d=dict(zip(key,value))
jsobj=json.dumps(d)
with open('result.json','w')as f:
  f.write(jsobj)
  f.close()

标签:zip,Python,three,value,dict,key,print,字典
来源: https://www.cnblogs.com/liujiacai/p/15312360.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有