一、列表合并为字典
序列(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