Python–K 差连续元素
原文:https://www . geesforgeks . org/python-k-difference-continuous-elements/
给定一个整数元素列表,检查每个元素与连续元素的差值是否为 k
输入:test _ list =【5、6、3、2、5、3、4】,K = 1 输出:【真、假、真、假、假、真】 解释 : 5、6;3, 2;和 3、4 有 1 个不同。他们之间。
输入 : test_list = [5,6,3,2,5,3,4],K = 2 输出:【假,假,假,假,真,假】 解释:只有 5,3 之间有 2 个差异。
方法一:使用列表理解
这是执行这项任务的方法之一。在这种情况下,我们用下一个元素检查每个元素,如果差是 K,那么我们标记它为真,否则为假。
Python 3
# Python3 code to demonstrate working of
# K difference Consecutive elements
# Using list comprehension
# initializing list
test_list = [5, 6, 3, 2, 5, 3, 4]
# printing original list
print("The original list : " + str(test_list))
# initializing K
K = 3
# using list comprehension and abs() to compute result
res = [True if abs(test_list[idx] - test_list[idx + 1]) == K else False
for idx in range(len(test_list) - 1)]
# printing result
print("The difference list result : " + str(res))
Output
The original list : [5, 6, 3, 2, 5, 3, 4]
The difference list result : [False, True, False, True, False, False]
方法二:使用 zip() +列表理解
这是执行该任务的另一种方式。在这种情况下,连续的列表使用 zip()进行配对,计算贯穿列表理解。
Python 3
# Python3 code to demonstrate working of
# K difference Consecutive elements
# Using zip() + list comprehension
# initializing list
test_list = [5, 6, 3, 2, 5, 3, 4]
# printing original list
print("The original list : " + str(test_list))
# initializing K
K = 3
# using list comprehension and abs() to compute result
# zip() used to pair Consecutive elements list
res = [abs(a - b) == K for a, b in zip(test_list, test_list[1:])]
# printing result
print("The difference list result : " + str(res))
Output
The original list : [5, 6, 3, 2, 5, 3, 4]
The difference list result : [False, True, False, True, False, False]
版权属于:月萌API www.moonapi.com,转载请注明出处