字典三种遍历方法和排序方法

字典遍历方法挺多,我总结了以下比较常见的三种:
1、用dict.keys()遍历
用dict.keys()方法会返回一个类型为dict_keys的序列类型,里面有字典的key,然后遍历即可

2、有dict.values()遍历
类似的,会返回字典的所有value值组成的一个序列,类型为dict_values,

3、用dict.items()遍历
会返回一个由key和value组成的一个个成对数据,通常同时获得二者:

for key,value in dict.tems();
		print(key,value)

4、直接遍历key
这个方法不太常用,而且容易引起误解。其实直接拿一个任意变量遍历字典,其实默认就是遍历他的key:
for x in a:
print(x)
1
3
5
前面三个比较清晰,容易理解记忆。

字典排序方法:
1、对字典key进行排序

		a={'a':1,'G':9,'c':6,'D':7}
		sorted(a.keys())
			['D','G','a','c']

2、对字典value进行排序

sorted(a.values())
		[1,6,7,9]

3、对key—value对进行排序,可以自己选择根据key还是根据value值排序

	sorted(a.items(),key=lambda x:x[1],reverse=True)
			[('G':9),('D':7),('c':6),('a':1)]

其中x[1]表示根据元组中的第二个值,即value值进行排序,可以修改x[0],x[1],reverse=True/False来满足不同的排序需求。注意其中lambda 后面的x就是指前面那个序列的元素,不管那个序列里的元素是数字,字符串,或者包含一对key-value的元组,他都照常取来,说白了x就是遍历匿名函数前面的序列,把序列中的元素一个一个拿来做参数,再根据后面的的表达式(比如说是x,x**2, x[0]等)来比较、排序。(最后返回的不是表达式值,还是元素本身。)

你可能感兴趣的:(Python学习笔记)