Python–从前后键值开始构建字典
原文:https://www . geesforgeks . org/python-dictionary-construction-from-from-from-back-key-values/
给定一个列表,使用关键字作为前半部分值和从后半部分开始的值来构建字典。
输入 : test_list = [4,10,5,3] 输出 : {4: 3,10: 5} 说明:前(4)与后(3)配对,以此类推。
输入 : test_list = [5,3] 输出 : {5: 3} 说明:前(5)与后(3)配对。
输入 : test_dict = {“苹果”:2、“芒果”:2、“葡萄”:2}、{“苹果”:2、“芒果”:2、“葡萄”:2} 输出 : 12 解释 : (22) + (22) + (2*2) = 12。
输入 : test_dict = {“苹果”:3、“芒果”:2、“葡萄”:3}、{“苹果”:2、“芒果”:2、“葡萄”:2} 输出 : 16 解释:积的求和得出 16 如上。
方法#1:使用循环
这是执行这项任务的粗暴方式。在这种情况下,我们从头开始运行一个循环,从 beg-end 中提取值,并相应地构造键值映射。
Python 3
# Python3 code to demonstrate working of
# Dictionary construction from front-rear key values
# Using loop
# initializing list
test_list = [4, 6, 3, 10, 5, 3]
# printing original list
print("The original list : " + str(test_list))
# initializing size and empty Dictionary
n = len(test_list)
res = dict()
# running loop till mid
for idx in range(n // 2):
# mapping as required
res.__setitem__(test_list[idx], test_list[n - idx - 1])
# printing result
print("The mapped dictionary : " + str(res))
Output
The original list : [4, 6, 3, 10, 5, 3]
The mapped dictionary : {4: 3, 6: 5, 3: 10}
方法 2:使用 zip() + dict()
这是执行这项任务的另一种方式。在本例中,我们使用 zip()执行压缩键和值元素的任务,dict()用于将结果转换为字典。
Python 3
# Python3 code to demonstrate working of
# Dictionary construction from front-rear key values
# Using zip() + dict()
# initializing list
test_list = [4, 6, 3, 10, 5, 3]
# printing original list
print("The original list : " + str(test_list))
# using zip to cut first and second half
n = len(test_list)
res = dict(zip(test_list[:n // 2], test_list[n // 2:][::-1]))
# printing result
print("The mapped dictionary : " + str(res))
Output
The original list : [4, 6, 3, 10, 5, 3]
The mapped dictionary : {4: 3, 6: 5, 3: 10}
版权属于:月萌API www.moonapi.com,转载请注明出处