2022年 11月 5日

python 键值对的理解与运用

一、列表合并为字典
序列(List)是Python中最基本的数据结构。下面构造两个变量并赋值,然后合并为一个字典型的。

keys = [1,2,3,4,5,6,3,4,5,7]

values = [11,22,33,44,55,66,77,88,99,100]

dictionary = {}

for i in range(len(keys)):

	dictionary.setdefault(keys[i], []).append(values[i])

print('Dictionary: %s' %dictionary)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

还有其它方法

dict(zip(keys,values))
  • 1

只不过二者之间有不同,前者会合并相同的键的值,后者只保留最后的值。

Dictionary: {1: [11], 2: [22], 3: [33, 77], 4: [44, 88], 5: [55, 99], 6: [66], 7: [100]}
ZIP:{1: 11, 2: 22, 3: 77, 4: 88, 5: 99, 6: 66, 7: 100}
  • 1
  • 2

二、获取键-值对
dictionary.items()返回的是一个列表,所以实质上是对字典进行了遍历,取出字典中的元素(一个个的元组),同理keys()和values()分别返回的是键和值。

#遍历键值对
for key ,value in dictionary.items():
	print(key,value)
#遍历键
for key in dictionary.keys():
	print(key)
#遍历值
for value in dictionary.values():
	print(value)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9