当前位置:首页 » 编程语言 » pythondictitems

pythondictitems

发布时间: 2022-11-12 21:30:13

‘壹’ python dict用法

dic= {key1 : value1, key2 : value2 }

字典也被称作关联数组或哈希表。下面是几种常见的字典属性:

1、dict.clear()

clear() 用于清空字典中所有元素(键-值对),对一个字典执行 clear() 方法之后,该字典就会变成一个空字典。

2、dict.()

() 用于返回一个字典的浅拷贝。

3、dict.fromkeys()

fromkeys() 使用给定的多个键创建一个新字典,值默认都是 None,也可以传入一个参数作为默认的值。

4、dict.get()

get() 用于返回指定键的值,也就是根据键来获取值,在键不存在的情况下,返回 None,也可以指定返回值。

5、dict.items()

items() 获取字典中的所有键-值对,一般情况下可以将结果转化为列表再进行后续处理。

6、dict.keys()

keys() 返回一个字典所有的键。

‘贰’ python中字典常用的方法有哪些,分别有什么作用

写法:字典序列[key] = 值 ***字典为可变类型

常用方法:
1、# 新增字典中的数据
dict1 = {'name':'huu','age':20,'gender':'男'}
dict1['id'] = 133
print(dict1)

2、# 修改字典中的数据
dict1['name'] = 'xiauaiguai'
print(dict1)
3、删除字典或删除字典中指定键值对
del()/del:

dict1 = {'name':'huanghu','age':30,'gender':'男'}

# del(dict1) 直接将字典删除了,运行报错

del dict1['name']
print(dict1)
# del dict1[names] 删除不存在的key,运行报错

4、清空字典
clear():
dict1.clear() # 清空字典
print(dict1)

5、查找
key值查找
如果当前查找的key存在则返回对应的值,否则则报错
函数查找
get():如果当前查找的key不存在则返回第二个参数值(默认值),
如果省略第二个参数则返回 None
key()

dict1 = {'name':'huhu','age':20,'gender':'男'}

print(dict1['name']) # huhu
print(dict1['id']) # 报错

# 1, get()查找

print(dict1.get('name')) # huanghu
print(dict1.get('id',133)) # 133--如果当前查找的key不存在则返回第二个参数值(默认值)
print(dict1.get('id')) # None--如果省略第二个参数则返回 None

# 2, keys() 查找字典中所有的key,返回可迭代对象
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])

# 3,values() 查找字典中所有的values,
print(dict1.values()) # dict_values(['huanghu', 30, '男'])

# 4, items() 查找字典中所有的键值对,返回可迭代对象,里面的数据是元组,
元组数据1是字典中的key,元组数据2是字典key对应的值
print(dict1.items()) # dict_items([('name', 'huahu'), ('age', 20), ('gender', '男')])

‘叁’ python dict浅复制

yangyzh

Python中dict详解
python3.0以上,print函数应为print(),不存在dict.iteritems()这个函数。
在python中写中文注释会报错,这时只要在头部加上# coding=gbk即可
#字典的添加、删除、修改操作
dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}
dict["w"] = "watermelon"
del(dict["a"])
dict["g"] = "grapefruit"
print dict.pop("b")
print dict
dict.clear()
print dict

‘肆’ Python 字典(dic)操作

具体函数有 set(),pop(),update(),items(),keys(),values(),get(),setdefault()

python 字典操作

假设字典为 dics = {0:'a', 1:'b', 'c':3}

二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:

>>> print dics.get('a')

0

>>> print dics.get('Paul')

None

dict.get(key,default=None) 两个选项 一个 key 一个 default= None ----default可以是任何strings(字符)

2.从字典中取值,若找到则删除;当键不存在时,显示异常key error

[方法]  dics.pop('key')

3.给字典添加一个条目。如果不存在,就指定特定的值;若存在,就算了。

[方法] dic.setdefault(key, value)

4. update

>>> a = {'a':1,'b':2}

>>> a.update({'c':3})

>>>a

{'a': 1,'c': 3,'b': 2}

>>> a.update({'c':4})

>>>a

{'a': 1,'c': 4,'b': 2}

dict的作用是建立一组 key 和一组 value 的映射关系,dict的key是不能重复的。

有的时候,我们只想要 dict 的 key,不关心 key 对应的 value,目的就是保证这个集合的元素不会重复,这时,set就派上用场了。

‘伍’ python字典中items和iteritems的区别

items()返回的是列表对象,而iteritems()返回的是iterator对象。例如:
print dic.items() #[('a', 'hello'), ('c', 'you'), ('b', 'how')]
print dic.iteritems() #<dictionary-itemiterator object at 0x020E9A50>
深究:iteritor是迭代器的意思,一次反悔一个数据项,知道没有为止
for i in dic.iteritems():

print i

结果:('a', 'hello')

('c', 'you')

('b', 'how')

‘陆’ 解析Python2.7中dict和创建对象的区别

yangyzh
Python中dict详解

python3.0以上,print函数应为print(),不存在dict.iteritems()这个函数。

在python中写中文注释会报错,这时只要在头部加上# coding=gbk即可

#字典的添加、删除、修改操作
dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}
dict["w"] = "watermelon"
del(dict["a"])
dict["g"] = "grapefruit"
print dict.pop("b")
print dict
dict.clear()
print dict
#字典的遍历
dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}
for k in dict:
print "dict[%s] =" % k,dict[k]
#字典items()的使用
dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"}
#每个元素是一个key和value组成的元组,以列表的方式输出
print dict.items()
#调用items()实现字典的遍历
dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}
for (k, v) in dict.items():
print "dict[%s] =" % k, v
#调用iteritems()实现字典的遍历
dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"}
print dict.iteritems()
for k, v in dict.iteritems():
print "dict[%s] =" % k, v
for (k, v) in zip(dict.iterkeys(), dict.itervalues()):
print "dict[%s] =" % k, v

#使用列表、字典作为字典的值
dict = {"a" : ("apple",), "bo" : {"b" : "banana", "o" : "orange"}, "g" : ["grape","grapefruit"]}
print dict["a"]
print dict["a"][0]
print dict["bo"]
print dict["bo"]["o"]
print dict["g"]
print dict["g"][1]

dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"}
#输出key的列表
print dict.keys()
#输出value的列表
print dict.values()
#每个元素是一个key和value组成的元组,以列表的方式输出
print dict.items()
dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"}
it = dict.iteritems()
print it
#字典中元素的获取方法
dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"}
print dict
print dict.get("c", "apple")
print dict.get("e", "apple")
#get()的等价语句
D = {"key1" : "value1", "key2" : "value2"}
if "key1" in D:
print D["key1"]
else:
print "None"
#字典的更新
dict = {"a" : "apple", "b" : "banana"}
print dict
dict2 = {"c" : "grape", "d" : "orange"}
dict.update(dict2)
print dict
#udpate()的等价语句
D = {"key1" : "value1", "key2" : "value2"}
E = {"key3" : "value3", "key4" : "value4"}
for k in E:
D[k] = E[k]
print D
#字典E中含有字典D中的key
D = {"key1" : "value1", "key2" : "value2"}
E = {"key2" : "value3", "key4" : "value4"}
for k in E:
D[k] = E[k]
print D
#设置默认值
dict = {}
dict.setdefault("a")
print dict
dict["a"] = "apple"
dict.setdefault("a","default")
print dict
#调用sorted()排序
dict = {"a" : "apple", "b" : "grape", "c" : "orange", "d" : "banana"}
print dict
#按照key排序
print sorted(dict.items(), key=lambda d: d[0])
#按照value排序
print sorted(dict.items(), key=lambda d: d[1])
#字典的浅拷贝
dict = {"a" : "apple", "b" : "grape"}
dict2 = {"c" : "orange", "d" : "banana"}
dict2 = dict.()
print dict2

#字典的深拷贝
import
dict = {"a" : "apple", "b" : {"g" : "grape","o" : "orange"}}
dict2 = .deep(dict)
dict3 = .(dict)
dict2["b"]["g"] = "orange"
print dict
dict3["b"]["g"] = "orange"
print dict

补充:
1 初始化
>>> d = dict(name='visaya', age=20)
>>> d = dict(zip(['name', 'age'], ['visaya', 20]))

#dict.fromkeys(listkeys, default=0) 把listkeys中的元素作为key均赋值为value,默认为0
>>> d = dict.fromkeys(['a', 'b'], 1)
>>> d
{'a': 1, 'b': 1}
2 字典视图和几何
dict.keys()类似信使可以进行交集和并集等集合操作(类似集合,因为不存在重复的项),但dict.values()不可以进行如上操作。

>>> k = d.keys()
>>> k
dict_keys(['a', 'b'])
>>> list(k)
['a', 'b']
>>> k | {'x': 3}
{'a', 'x', 'b'}
>>> k | {'x'}
{'a', 'x', 'b'}
>>> k | {'x', 'y'}
{'a', 'y', 'b', 'x'}
>>> k & {'x'}
set()
>>> v = d.values()
>>> v
dict_values([1, 2])
>>> v | {'x'}
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
TypeError: unsupported operand type(s) for |: 'dict_values' and 'set'
3 排序字典键
两种方法:
3.1 sort:
>>> Ks = list(d.keys())
>>> Ks.sort()
>>> for k in Ks:
... print(k, d[k])
...
a 1
b 2
3.2 sorted:
>>> for k in sorted(d.keys()):
... print(k, d[k])
...
a 1
b 2

3.3 注意
>>> for k in list(d.keys()).sort():
... print(k, d[k])
...
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
TypeError: 'NoneType' object is not iterable

出错原因:
list.sort() list.append()函数都是对自身的操作,没有返回值,故需先将list(d.keys())的结果保存下来,在结果上进行sort()
4 常用函数
4.1 get()
D.get(k[, d]) => D[k] if k in D else d. d defaults to none.
4.2 pop()
D.pop(value[, d]) => Remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised.
4.3 udpate()
D.update(E, **F) -> None. Update D from dict/iterable E and F.
If E has a .keys() method, does: for k in E: D[k] = E[k]
If E lacks .keys() method, does: for (k, v) in E: D[k] = v
In either case, this is followed by: for k in F: D[k] = F[k]

>>> d = dict(name='visaya', age=21)
>>> d1= {'age': 20, 'sex': 'male'}
>>> d2 = zip(['a', 'b'], [1, 2])

>>> d.update(d1)
>>> d
{'age': 20, 'name': 'visaya', 'sex': 'male'}
#for k in d1: d[k] = d1[k]

>>> d.update(d2)
>>> d
{'age': 20, 'name': 'visaya', 'sex': 'male'}
#for (k, v) in d2: d[k] = v
4.4 del()
del D[key]
4.5 clear()
4.6 ()
Python中的dict
初始化
构造方法创建
Python代码
d = dict()
d = dict(name="nico", age=23)
d = dict((['name', "nico"], ['age', 23]))
当然还有更方便,简单的
Python代码
d = {}
d = {"name":"nico", "age":23}

遍历
通过对key的遍历,遍历整个dict

Python代码
d = {"name":"nico", "age":23}
for key in d:
print "key=%s, value=%s" % (key, d[key])

for key in d.iterkeys():
print "key=%s, value=%s" % (key, d[key])

for key in d.keys():
print "key=%s, value=%s" % (key, d[key])

for key in iter(d):
print "key=%s, value=%s" % (key, d[key])

for key,item in d.items():
print "key=%s, value=%s" % (key, item)

当然也可以直接遍历value

Python代码
d = {"name":"nico", "age":23}
for value in d.values():
print value

for key,value in d.viewitems():
print "key=%s, value=%s" % (key, value)

for value in d.viewvalues():
print "value=%s" % (value)
这里values和viewvalues的区别

后者返回的是该字典的一个view对象,类似数据库中的view,当dict改变时,该view对象也跟着改变

常用方法

Python代码
d = {"name":"nico", "age":23}
d["name"] = "aaaa"
d["address"] = "abcdefg...."
print d #{'age': 23, 'name': 'aaaa', 'address': 'abcdefg....'}

获取dict值
Python代码
print d["name"] #nico
print d.get("name") #nico

如果key不在dict中,返回default,没有为None
Python代码
print d.get("namex", "aaa") #aaa
print d.get("namex") #None

排序sorted()
Python代码
d = {"name":"nico", "age":23}
for key in sorted(d):
print "key=%s, value=%s" % (key, d[key])
#key=age, value=23
#key=name, value=nico

删除del
Python代码
d = {"name":"nico", "age":23}
Python代码
del d["name"]
#如果key不在dict中,抛出KeyError
del d["names"]
Python代码
Traceback (most recent call last):
File "F:\workspace\project\pydev\src\ddd\ddddd.py", line 64, in <mole>
del d["names"]
KeyError: 'names'

清空clear()
Python代码
d = {"name":"nico", "age":23}
d.clear()
print d #{}

()
Python代码
d1 = d.() #{'age': 23, 'name': 'nico'}
#使用返回view对象
d2 = d1.viewitems() #dict_items([('age', 23), ('name', 'nico')])
#修改字典d1,新增元素
d1["cc"] = "aaaaaa"
print d2
#dict_items([('cc', 'aaaaaa'), ('age', 23), ('name', 'nico')])

pop(key[, default])
如果key在dict中,返回,不在返回default
Python代码
#如果key在dict中,返回,不在返回default
print d.pop("name", "niccco") #nico
print d.pop("namezzz", "niccco") #niccco
#key不在dict中,且default值也没有,抛出KeyError
print d.pop("namezzz") #此处抛出KeyError

popitem()
删除并返回dict中任意的一个(key,value)队,如果字典为空会抛出KeyError
Python代码
d = {"name":"nico", "age":23}
print d.popitem() #('age', 23)
print d.popitem() #('name', 'nico')
#此时字典d已为空
print d.popitem() #此处会抛出KeyError

update([other])
将字典other中的元素加到dict中,key重复时将用other中的值覆盖
Python代码
d = {"name":"nico", "age":23}
d2 = {"name":"jack", "abcd":123}
d.update(d2)
print d #{'abcd': 123, 'age': 23, 'name': 'jack'}

原文出处:http://blog.csdn.net/tianmo2010/article/details/7621424

‘柒’ python中dict中key和value的打印输出问题

迭代dict的key和value
我们了解了如何迭代 dict 的key和value,那么,在一个 for 循环中,能否同时迭代 key和value?答案是肯定的。
首先,我们看看 dict 对象的 items() 方法返回的值:
>>> d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
>>> print d.items()
[('Lisa', 85), ('Adam', 95), ('Bart', 59)]123123

可以看到,items() 方法把dict对象转换成了包含tuple的list,我们对这个list进行迭代,可以同时获得key和value:
>>> for key, value in d.items():
... print key, ':', value
...
Lisa : 85
Adam : 95
Bart : 59123456123456

和 values() 有一个 itervalues() 类似, items() 也有一个对应的 iteritems(),iteritems() 不把dict转换成list,而是在迭代过程中不断给出 tuple,所以, iteritems() 不占用额外的内存。

‘捌’ Python中的dict怎么用

#字典的添加、删除、修改操作
dict={"a":"apple","b":"banana","g":"grape","o":"orange"}
dict["w"]="watermelon"
del(dict["a"])
dict["g"]="grapefruit"
printdict.pop("b")
printdict
dict.clear()
printdict
#字典的遍历
dict={"a":"apple","b":"banana","g":"grape","o":"orange"}
forkindict:
print"dict[%s]="%k,dict[k]
#字典items()的使用
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
#每个元素是一个key和value组成的元组,以列表的方式输出
printdict.items()
#调用items()实现字典的遍历
dict={"a":"apple","b":"banana","g":"grape","o":"orange"}
for(k,v)indict.items():
print"dict[%s]="%k,v
#调用iteritems()实现字典的遍历
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
printdict.iteritems()
fork,vindict.iteritems():
print"dict[%s]="%k,v
for(k,v)inzip(dict.iterkeys(),dict.itervalues()):
print"dict[%s]="%k,v


#使用列表、字典作为字典的值
dict={"a":("apple",),"bo":{"b":"banana","o":"orange"},"g":["grape","grapefruit"]}
printdict["a"]
printdict["a"][0]
printdict["bo"]
printdict["bo"]["o"]
printdict["g"]
printdict["g"][1]

dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
#输出key的列表
printdict.keys()
#输出value的列表
printdict.values()
#每个元素是一个key和value组成的元组,以列表的方式输出
printdict.items()
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
it=dict.iteritems()
printit
#字典中元素的获取方法
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
printdict
printdict.get("c","apple")
printdict.get("e","apple")
#get()的等价语句
D={"key1":"value1","key2":"value2"}
if"key1"inD:
printD["key1"]
else:
print"None"
#字典的更新
dict={"a":"apple","b":"banana"}
printdict
dict2={"c":"grape","d":"orange"}
dict.update(dict2)
printdict
#udpate()的等价语句
D={"key1":"value1","key2":"value2"}
E={"key3":"value3","key4":"value4"}
forkinE:
D[k]=E[k]
printD
#字典E中含有字典D中的key
D={"key1":"value1","key2":"value2"}
E={"key2":"value3","key4":"value4"}
forkinE:
D[k]=E[k]
printD
#设置默认值
dict={}
dict.setdefault("a")
printdict
dict["a"]="apple"
dict.setdefault("a","default")
printdict
#调用sorted()排序
dict={"a":"apple","b":"grape","c":"orange","d":"banana"}
printdict
#按照key排序
printsorted(dict.items(),key=lambdad:d[0])
#按照value排序
printsorted(dict.items(),key=lambdad:d[1])
#字典的浅拷贝
dict={"a":"apple","b":"grape"}
dict2={"c":"orange","d":"banana"}
dict2=dict.()
printdict2

#字典的深拷贝
import
dict={"a":"apple","b":{"g":"grape","o":"orange"}}
dict2=.deep(dict)
dict3=.(dict)
dict2["b"]["g"]="orange"
printdict
dict3["b"]["g"]="orange"
printdict

‘玖’ items在python中用法

作用是以列表返回可遍历的(key,value)的元组数组。
python语法中,items用于字典,作用是以列表返回可遍历的(key,value)的元组数组。
1.语法dict.items,在python中,字典、列表和元祖都是常常使用的代码类型。而他们之间的联系也很密切。例如字典items()函数以列表返回可遍历的(键,值)元组数组,将字典中的键值对以元组存储,并将众多元组存在列表中。

‘拾’ python的dict函数问题

记住一点python字典是无序的 不要被假象迷惑 至于key为数字时能自动排序是为什么 我也不清楚 但是你可以利用这一特性 在之后需要对dic中的value进行排序时 就可以用数字当key

热点内容
安卓与ios哪个适合做主力机 发布:2025-01-12 08:54:11 浏览:340
微软怎么关闭配置更新 发布:2025-01-12 08:34:23 浏览:316
wifi的有限的访问权限 发布:2025-01-12 08:34:14 浏览:609
cftp文件重命名 发布:2025-01-12 08:33:27 浏览:881
https的加密算法 发布:2025-01-12 08:19:15 浏览:653
数据库交 发布:2025-01-12 08:09:06 浏览:472
一台剪辑电脑要什么配置 发布:2025-01-12 07:50:16 浏览:12
android与java 发布:2025-01-12 07:50:12 浏览:498
打印机手机连接密码是什么 发布:2025-01-12 07:48:31 浏览:586
冒险岛2什么服务器 发布:2025-01-12 07:39:22 浏览:136