当前位置:首页 » 编程语言 » python的字典操作

python的字典操作

发布时间: 2022-08-06 11:03:00

1. 在python中怎么把列表中的元素添加到字典中

1、首先打开python的编辑器。

2. python中字典都有什么操作

http://www.runoob.com/python/python-dictionary.html 上面有详细的例子

3. 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():以列表返回字典中的所有值

4. Python中字典创建、遍历、添加等实用操作技巧合集

字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快。下面列出字典的常用的用途.
一、字典中常见方法列表
代码如下:
#方法
#描述
-------------------------------------------------------------------------------------------------
D.clear()
#移除D中的所有项
D.()
#返回D的副本
D.fromkeys(seq[,val])
#返回从seq中获得的键和被设置为val的值的字典。可做类方法调用
D.get(key[,default])
#如果D[key]存在,将其返回;否则返回给定的默认值None
D.has_key(key)
#检查D是否有给定键key
D.items()
#返回表示D项的(键,值)对列表
D.iteritems()
#从D.items()返回的(键,值)对中返回一个可迭代的对象
D.iterkeys()
#从D的键中返回一个可迭代对象
D.itervalues()
#从D的值中返回一个可迭代对象
D.keys()
#返回D键的列表
D.pop(key[,d])
#移除并且返回对应给定键key或给定的默认值D的值
D.popitem()
#从D中移除任意一项,并将其作为(键,值)对返回
D.setdefault(key[,default])
#如果D[key]存在则将其返回;否则返回默认值None
D.update(other)
#将other中的每一项加入到D中。
D.values()
#返回D中值的列表
二、创建字典的五种方法
方法一:
常规方法
代码如下:
#
如果事先能拼出整个字典,则此方法比较方便
>>>
D1
=
{'name':'Bob','age':40}
方法二:
动态创建

代码如下:
#
如果需要动态地建立字典的一个字段,则此方法比较方便
>>>
D2
=
{}
>>>
D2['name']
=
'Bob'
>>>
D2['age']
=
40
>>>
D2
{'age':
40,
'name':
'Bob'}
方法三:
dict--关键字形式
代码如下:
#
代码比较少,但键必须为字符串型。常用于函数赋值
>>>
D3
=
dict(name='Bob',age=45)
>>>
D3
{'age':
45,
'name':
'Bob'}
方法四:
dict--键值序列
代码如下:
#
如果需要将键值逐步建成序列,则此方式比较有用,常与zip函数一起使用
>>>
D4
=
dict([('name','Bob'),('age',40)])
>>>
D4
{'age':
40,
'name':
'Bob'}

代码如下:
>>>
D
=
dict(zip(('name','bob'),('age',40)))
>>>
D
{'bob':
40,
'name':
'age'}
方法五:
dict--fromkeys方法#
如果键的值都相同的话,用这种方式比较好,并可以用fromkeys来初始化

代码如下:
>>>
D5
=
dict.fromkeys(['A','B'],0)
>>>
D5
{'A':
0,
'B':
0}
如果键的值没提供的话,默认为None
代码如下:
>>>
D3
=
dict.fromkeys(['A','B'])
>>>
D3
{'A':
None,
'B':
None}
三、字典中键值遍历方法

代码如下:
>>>
D
=
{'x':1,
'y':2,
'z':3}
#
方法一
>>>
for
key
in
D:
print
key,
'=>',
D[key]
y
=>
2
x
=>
1
z
=>
3
>>>
for
key,
value
in
D.items():
#
方法二
print
key,
'=>',
value
y
=>
2
x
=>
1
z
=>
3
>>>
for
key
in
D.iterkeys():
#
方法三
print
key,
'=>',
D[key]
y
=>
2
x
=>
1
z
=>
3
>>>
for
value
in
D.values():
#
方法四
print
value
2
1
3
>>>
for
key,
value
in
D.iteritems():
#
方法五
print
key,
'=>',
value
y
=>
2
x
=>
1
z
=>
3
Note:用D.iteritems(),
D.iterkeys()的方法要比没有iter的快的多。
四、字典的常用用途之一代替switch
在C/C++/Java语言中,有个很方便的函数switch,比如:
代码如下:
public
class
test
{
public
static
void
main(String[]
args)
{
String
s
=
"C";
switch
(s){
case
"A":
System.out.println("A");
break;
case
"B":
System.out.println("B");
break;
case
"C":
System.out.println("C");
break;
default:
System.out.println("D");
}
}
}
在Python中要实现同样的功能,
方法一,就是用if,
else语句来实现,比如:

代码如下:
from
__future__
import
division
def
add(x,
y):
return
x
+
y
def
sub(x,
y):
return
x
-
y
def
mul(x,
y):
return
x
*
y
def
div(x,
y):
return
x
/
y
def
operator(x,
y,
sep='+'):
if
sep
==
'+':
print
add(x,
y)
elif
sep
==
'-':
print
sub(x,
y)
elif
sep
==
'*':
print
mul(x,
y)
elif
sep
==
'/':
print
div(x,
y)
else:
print
'Something
Wrong'
print
__name__
if
__name__
==
'__main__':
x
=
int(raw_input("Enter
the
1st
number:
"))
y
=
int(raw_input("Enter
the
2nd
number:
"))
s
=
raw_input("Enter
operation
here(+
-
*
/):
")
operator(x,
y,
s)
方法二,用字典来巧妙实现同样的switch的功能,比如:

代码如下:
#coding=gbk
from
__future__
import
division
x
=
int(raw_input("Enter
the
1st
number:
"))
y
=
int(raw_input("Enter
the
2nd
number:
"))
def
operator(o):
dict_oper
=
{
'+':
lambda
x,
y:
x
+
y,
'-':
lambda
x,
y:
x
-
y,
'*':
lambda
x,
y:
x
*
y,
'/':
lambda
x,
y:
x
/
y}
return
dict_oper.get(o)(x,
y)
if
__name__
==
'__main__':
o
=
raw_input("Enter
operation
here(+
-
*
/):
")
print
operator(o)

5. 如何处理python的字典

一、创建字典
字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可如此创建字典

dict1 = { 'abc': 456 }
dict2 = { 'abc': 123, 98.6: 37 }

注意:
每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必。
值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。


二、访问字典里的值
把相应的键放入熟悉的方括号,如下实例:

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']:

6. 字典操作 python 新手

python中,key的唯一性、key与value的一对多的映射。所以你的字典定义错了。



>>>demo2={1:1,2:2,3:3}
>>>forkeyindemo2:
printdemo2[key]


1
2
3
>>>

7. Python中字典的内建函数用法是什么

字典内置函数&方法
Python字典包含了以下内置函数:
1 cmp(dict1, dict2)
比较两个字典元素。
2 len(dict)
计算字典元素个数,即键的总数。
3 str(dict)
输出字典可打印的字符串表示。
4 type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。

8. python对字典的写入操作

队字典的写入操作类似json格式的数据增加key一样
比如字典a = {}
a[key] = value
这就增加了key,对应的值是value

9. python字典操作问题

应为在python中dict是可变对象。用dic1赋值给dic3后,并没有创建一个新的对象,dic3和dic1指向同一个对象。通过dic3改变其内容,就如同通过dic1改变对象内容一样。

具体的内容你可以看看深拷贝和浅拷贝

import
defcom_weight(dic1,dic2):
dic3=.deep(dic1)#深拷贝,,,,
foriindic1.keys():
forjindic1[i].keys():
dic3[i][j]=dic1[i][j]-dic2[i][j]

printdic3

if__name__=='__main__':

dic1={1:{1:142264,2:142315},2:{3:142111},3:{3:142723}}
dic2={1:{1:142263,2:142312},2:{3:142110},3:{3:142722}}

print'__________________'
printdic1
printdic2
print'*******************'
com_weight(dic1,dic2)
print'~~~~~~~~~~~~~~~~~~~~~~~~'
printdic1
printdic2

10. 如何利用Python语言对字典数据类型进行各种操作

第一步,声明一个字典tree,赋值name和sale键,并打印字典值
第二步,添加字典键值对,字典是由键值对来构成的,声明一个字典hudi并赋值;再次利用该字典添加一个键值对,然后打印添加后的值
第三步,对添加的键值对进行修改键值,获取age这个键,然后重新赋值,打印修改后的结果
第四步,打印hudi字典,利用del删除字典color键值对,然后打印删除后的结果
第五步,再次打印hudi字典,利用clear()方法删除该字典所有的键值对
第六步,利用pop()方法对字典键值对进行删除,会先打印出删除的键值对!

热点内容
图片服务器ftp 发布:2025-01-22 15:52:33 浏览:506
sql打开bak文件 发布:2025-01-22 15:47:32 浏览:106
opengl服务器源码 发布:2025-01-22 15:40:02 浏览:908
python部署服务 发布:2025-01-22 15:38:46 浏览:282
压缩机卡装 发布:2025-01-22 15:37:04 浏览:446
每天跑步40分钟可以缓解压力吗 发布:2025-01-22 15:33:24 浏览:448
线性表的链式存储结构与顺序存储 发布:2025-01-22 15:32:45 浏览:295
解压缩大师 发布:2025-01-22 15:26:51 浏览:386
xp访问win7共享打印机无权限 发布:2025-01-22 15:23:22 浏览:830
python中pandas 发布:2025-01-22 15:21:42 浏览:639