python
新手学字典的时候只知道字典的增删查改,殊不知还有一个items()方法呢~~~~来看看他是怎么回事吧!
首先对他的描述是:python字典items()函数以列表返回可遍历的(键值)元组数组。
其次语法:dict.items()
最后返回值:返回可遍历的(键值)元组数组
来个例子:
// An highlighted block
dic = {"移动": 10086, "联通": 10010, "电信": 10000}
dic_item = dic.items()
print(dic_item)
print(type(dic_item))
for x, y in dic_item:
print(x, y)
输出
// An highlighted block
dict_items([('移动', 10086), ('联通', 10010), ('电信', 10000)])
<class 'dict_items'>
移动 10086
联通 10010
电信 10000
从上面的例子可以看出dict.items()这个函数的返回值是列表套着元组,元组里面是该字典的键和值。(其实最好呢是加上一个list内置函数。)
从这个方法遍历的时候会打印出x和y的值。
别看这个方法微不足道,关键时候可是有大用处呢!!!
来来来,有能力的试试这个,觉得自己差点的可以研究研究哦~~~~~~
d = {‘a’:{‘b’:{‘c’:{‘d’:‘h’,‘j’:‘i’,‘o’:{‘p’:‘q’,‘r’:‘s’},‘t’:‘u’}},‘v’:{‘w’:{‘x’:{‘y’:‘z’}}}},‘e’:{‘f’:{‘i’:‘k’},‘m’:‘n’}}
在练习的时候不要忘了我们今天的重点是什么哦!!
是字典中的items()方法。
下面是答案
// An highlighted block
d = {'a': {'b': {'c': {'d': 'h', 'j': 'i', 'o': {'p': 'q', 'r': 's'}, 't': 'u'}}, 'v': {'w': {'x': {'y': 'z'}}}},
'e': {'f': {'i': 'k'}, 'm': 'n'}}
print(len(d))
listd = []
def list1(d):
if isinstance(d, dict) and len(d) >= 1: # isinstance 和type()函数来判断一个对象是否是一个已知的类型,会认为子类是一种父类类型,考虑继承关系
a = [x for x, y in d.items()] # 列表生成式
listd.append(a)
d1 = {}
for i in d.values():
if isinstance(i, dict):
d1.update(i)
list1(d1)
return listd
if __name__ == '__main__':
list1(d)
print(listd)
输出
[['a', 'e'], ['b', 'v', 'f', 'm'], ['c', 'w', 'i'], ['d', 'j', 'o', 't', 'x'], ['p', 'r', 'y']]