Ⅰ python如何将列表中的元素添加进字典
字典是一种hash表,即有key,和key键对应下的value
比如说我要初始化一个字典
phonebook={'Alice':'3241','Beth':'9274','Ceil':'3258'}
这样这本字典就有三对项,分别有键(key)和对应的值(value)组成
比如这里Alice,Beth,Ceil都是key
对应的value则分别为3241,9274,3258
key和value之间用冒号(:)隔开,项之间用逗号(,)隔开,整个字典由一对大括号括起来。
比如你要查询beth的电话号码,就可以用这条语句:
print phonebook['Beth']
结果则为9274
现在对字典的基本概念熟悉了吧?!
然后回答下你这个问题。
你要把列表中的元素添加到字典中,那么必须提供key值或value来和d中的{'a','b','c'}对应。
一楼就是其中一个解法,不过有些瑕疵,正确的应该是:
a=dict(zip(d, ['']*3))
a的值即为{'a':'', 'b':'', 'c':''}
此时列表中的元素a,b,c作为key,value的值我们暂定为空
Ⅱ python 数组 变成 字典的方法
1、现在有两个 列表 ,list1 = ['key1','key2','key3']和list2 = [Ƈ',ƈ',Ɖ'],把他们转为这样的 字典 :{'key1':Ƈ','key2':ƈ','key3':Ɖ'}
>>list1 = ['key1','key2','key3']
>>list2 = [Ƈ',ƈ',Ɖ']
>>>dict(zip(list1,list2))
{'key1':Ƈ','key2':ƈ','key3':Ɖ'}
2、将嵌套 列表 转为 字典 ,有两种方法,
>>>new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
>>>dict(list)
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
或者这样:
>>>new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
>>>new_dict = {}
>>> for i in new_list:
... new_dict[i[0]] = i[1] # 字典 赋值,左边为key,右边为value
...
>>> new_dict
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
Ⅲ 在python中怎么把列表中的元素添加到字典中
1、首先打开python的编辑器。
2、然后在文件中写上程序的注释。
3、新建一个字典,名字就叫cellphone。
4、然后为cellphone的字典里添加一个元素,cellphone["oppo"]=189。
5、然后将这个添加了新的内容之后的字典打印出来。
6、在窗口中选择"run"->"run"。
7、运行这一个程序即可。
Ⅳ python嵌套字典的处理及如何插入数据库
方法:
del dict2['name']#删除键为“name”的条目。
dict2.clear()#删除 dict2 中所有的条目
del dict2#删除整个 dict2 字典
dict2.pop('name')#删除并返回键为“name”的条目!
Ⅳ python关于元组加入字典的问题
dic['8'] = (a,b)
dic['8'] = [a,b]
都行。
访问a用dic['8'][0],
访问b用dic['8'][1]就行了。
Ⅵ python怎么声明一个字典数组,每一个数组元素是字典dict
1、新建testdict.py文件;
Ⅶ python 列表内有字典怎么使用
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。
一、创建字典
字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:
复制代码代码如下:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
也可如此创建字典:
复制代码代码如下:
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
注意:
每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必。
值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。
二、访问字典里的值
把相应的键放入熟悉的方括号,如下实例:
复制代码代码如下:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
#以上实例输出结果:
#dict['Name']: Zara
#dict['Age']: 7
如果用字典里没有的键访问数据,会输出错误如下:
复制代码代码如下:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print "dict['Alice']: ", dict['Alice'];
#以上实例输出结果:
#dict['Zara']:
#Traceback (most recent call last):
# File "test.py", line 4, in <mole>
# print "dict['Alice']: ", dict['Alice'];
#KeyError: 'Alice'[/code]
三、修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:
复制代码代码如下:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
#以上实例输出结果:
#dict['Age']: 8
#dict['School']: DPS School
四、删除字典元素
能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令,如下实例:
复制代码代码如下:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
del dict['Name']; # 删除键是'Name'的条目
dict.clear(); # 清空词典所有条目
del dict ; # 删除词典
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
#但这会引发一个异常,因为用del后字典不再存在:
dict['Age']:
#Traceback (most recent call last):
# File "test.py", line 8, in <mole>
# print "dict['Age']: ", dict['Age'];
#TypeError: 'type' object is unsubscriptable
五、字典键的特性
字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:
复制代码代码如下:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};
print "dict['Name']: ", dict['Name'];
#以上实例输出结果:
#dict['Name']: Manni
2)键必须不可变,所以可以用数,字符串或元组充当,所以用列表就不行,如下实例:
复制代码代码如下:
#!/usr/bin/python
dict = {['Name']: 'Zara', 'Age': 7};
print "dict['Name']: ", dict['Name'];
#以上实例输出结果:
#Traceback (most recent call last):
# File "test.py", line 3, in <mole>
# dict = {['Name']: 'Zara', 'Age': 7};
#TypeError: list objects are unhashable
六、字典内置函数&方法
Python字典包含了以下内置函数:
1、cmp(dict1, dict2):比较两个字典元素。
2、len(dict):计算字典元素个数,即键的总数。
3、str(dict):输出字典可打印的字符串表示。
4、type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。
Python字典包含了以下内置方法:
1、radiansdict.clear():删除字典内所有元素
2、radiansdict.():返回一个字典的浅复制
3、radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4、radiansdict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果键在字典dict里返回true,否则返回false
6、radiansdict.items():以列表返回可遍历的(键, 值) 元组数组
7、radiansdict.keys():以列表返回一个字典所有的键
8、radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
9、radiansdict.update(dict2):把字典dict2的键/值对更新到dict里
10、radiansdict.values():以列表返回字典中的所有值
Ⅷ python如何将字典写入文件(字典中存放的是一些二维数组),再从上述文件读数据到字典
importpickle
dictfile=open("myfile",'wb')
mydict={"a":[[1,2],[3,4]],"b":[[5,6],[7,8]]}
pickle.mp(mydict,dictfile)
dictfile.close()
dictfile=open("myfile",'rb')
readdict=pickle.load(dictfile)
print(readdict)
Ⅸ python3 如何解析多层嵌套字典,具体内容打开看
# 见 代码 ,代码粘贴上不带格式,按照图片用tab键调整一下,图片是核心部分
simple_dict={
'Large_dict':{'middle_dict1':{'small_dict1':1,
'small_dict2':2},
'middle_dict2':{'small_dict3':3,
'small_dict4':4,
'small_dict5':{'small_dict10':1,
'small_dict22':3},
},
}
}
#需求分析:从嵌套字典中,找到值为3的路径关系
#简化模型:从value为3的值递归向上层的key,递归过程保存当前已经递归的路径和当前层
#1.找到字典一共有多少层:
count=0
path=''#设置路径的全局变量
result=[]#记录结论
defget_count(dict_test):
globalcount#声明每次递归均是改变全局变量
globalpath#拼接档期啊你的路径
globalresult#记录结果
foriindict_test:
iftype(dict_test[i]).__name__=='dict':
#如果是字典,则继续向下展开,即执行递归:
ifcount==0:#增加判断消除第一个<-出现,逻辑问题
path=path+i
else:
path=path+'<-'+i
count+=1#记录层数
get_count(dict_test[i])
else:
try:
#如果不是字典则是键值对,查询value值是不是3,当前i包含两个内容,一个是key,一个是value
ifdict_test[i]==3:
#找到了value=3的值
result.append(f"路径是:%s,在第%d层"%(path+'<-'+i,count))
exceptExceptionasresult:#虽然字典限定了写法,为了增加健壮性此位置使用try指令,避免类型错误
print(result)
continue
if__name__=='__main__':
get_count(simple_dict)#执行递归函数
[print(str(i+1)+':'+j)fori,jinenumerate(result)]#打印结果
'''
结果:
1:路径是:Large_dict<-middle_dict1<-middle_dict2<-small_dict3,在第3层
2:路径是:Large_dict<-middle_dict1<-middle_dict2<-small_dict5<-small_dict22,在第4层
'''