Python 程序 以键值对的形式获取备用列表元素
在这篇文章中,我们将学习如何在Python中获得作为键值对的备用列表元素。
假设我们有一个包含整数的 输入列表 。我们现在将
使用的方法
以下是用于完成这项任务的各种方法
- 使用 for 循环
-
使用字典理解和列表切分
例子
假设我们已经采取了一个 输入列表。 我们现在要把列表中的元素作为键值对打印出来。
输入
inputList = [20, 13, 5, 2, 6, 8, 18, 3]
输出
Dictionary with alternate list elements as key-value pairs:
{13: 2, 2: 8, 8: 3, 20: 5, 5: 6, 6: 18}
备用元素被映射为键值对。13 -> 2 [ 备用的]
方法 1: 使用 For 循环
算法(步骤)
以下是执行所需任务时需要遵循的算法/步骤–。
- 创建一个变量来存储一个输入列表。
-
打印输入列表。
-
创建一个空字典来存储结果字典。
-
使用 for 循环 遍历输入列表的长度,除了最后一个索引,使用 range() 和 len() 函数(返回对象中的项目数)。
-
range() 函数返回一个数字序列,从0开始,以1递增(默认),在给定的数字之前停止。
-
使用 if条件 语句,用modulo % 运算符检查当前索引是否为偶数(返回余数)。
-
将偶数索引元素作为键值对分配到输出字典中。
-
用同样的方法,用not逻辑运算符检查奇数索引,得到另一个有奇数索引元素的集合。
-
打印带有备用列表元素的结果字典,作为 key-value 对。
例子
下面的程序使用 for 循环返回一个带有备用列表元素的 key-value 对的 dictionary
# input list
inputList = [20, 13, 5, 2, 6, 8, 18, 3]
# printing the given input list
print("Input List: ", inputList)
# creating an empty dictionary for storing resultant dict
outputDict = dict()
# =traversing till the length of the input list except for the last index
for i in range(len(inputList) - 2):
# checking whether the current index is even or not
if i % 2:
# assigning even index elements to output dict as a key-value pairs
outputDict[inputList[i]] = inputList[i + 2]
# getting the other set with odd index elements
for i in range(len(inputList) - 2):
if not i % 2:
outputDict[inputList[i]] = inputList[i + 2]
# printing the resultant dictionary with alternate list elements as key-value pairs
print("Dictionary with alternate list elements as key-value pairs:\n", outputDict)
输出
在执行时,上面的程序将产生以下的输出
Input List: [20, 13, 5, 2, 6, 8, 18, 3]
Dictionary with alternate list elements as key-value pairs:
{13: 2, 2: 8, 8: 3, 20: 5, 5: 6, 6: 18}
方法 2:使用字典理解和列表切分
Python 支持字典的理解,就像列表的理解一样。可以使用直截了当的表达式来制作字典。字典理解的公式是–。
{key: value for (key, value) in iterable}
列表切分 是一种经常性的做法,也是程序员利用最多的一种做法,可以有效地解决问题。考虑一个 Python 列表。你必须对一个列表进行切片,以便访问列表元素的范围。使用 冒号(:), 一个简单的分片操作符,是完成这个任务的一种方法。
语法
[start:stop:step]
参数
- start – 从哪里开始的索引
-
end – 结束索引
-
step – 中间跳转的次数,即步长。
算法(步骤)
以下是执行所需任务的算法/步骤。
- 创建一个变量来存储一个输入列表,并打印给定的输入列表。
-
使用 切片法从 输入列表中获取所有 奇数 索引元素,起始值为1,步骤值为2。
-
使用 切分法从 起始值为0,步长为2的输入列表中获得所有的偶数索引元素。
-
使用字典理解,通过遍历奇数列表获得奇数索引列表元素的键值对
-
更新(添加)偶数索引列表元素作为键值对到上述输出的 Dict.
-
update() 函数(插入给定的项目,如字典,或带键值对的可迭代对象到字典中)。
-
打印带有交替列表元素作为 key-value 对的结果 dictionary。
例子
下面的程序使用 dictionary comprehension 和 list slicing,返回一个带有备用列表元素的 dictionary,作为 key-value 对。
# input list
inputList = [20, 13, 5, 2, 6, 8, 18, 3]
# printing the given input list
print("Input List: ", inputList)
# getting all odd index elements from input list using slicing
oddList = inputList[1::2]
# getting all odd index elements from input list using slicing
evenList = inputList[::2]
# getting odd index list elements as key-value pairs
outputDict = {oddList[i]: oddList[i + 1] for i in range(len(oddList) - 1)}
#updating(adding) even index list elements as key-value pairs to the outputDict
outputDict.update({evenList[i]: evenList[i + 1]
for i in range(len(evenList) - 1)})
# printing the resultant dictionary with alternate list elements as key-value pairs
print("Dictionary with alternate list elements as key-value pairs:\n", outputDict)
输出
Input List: [20, 13, 5, 2, 6, 8, 18, 3]
Dictionary with alternate list elements as key-value pairs:
{13: 2, 2: 8, 8: 3, 20: 5, 5: 6, 6: 18}
总结
这篇文章教给我们两种不同的方法来获得作为键值对的备用列表元素。我们学习了如何使用步骤值来切分迭代表,如列表、图元等。此外,我们还学习了字典的理解能力。最后,我们学会了如何使用 update() 函数来添加或更新字典。