如果我有这样一个列表(注意它在5
、12
、19
、26
之后跳过一个)。。等等,所以6
、13
、20
、27
都丢失了):
lst1 = [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61]
我有一个这样的列表(这表示哪些跳过)
lst2 = [0,2] # this means the 0'st skip and 2nd skip which is 13)
将lst1
和lst2
结合起来
我想做一个新的lst3
,它有[0, 1, 2, 3, 4, 5, 14, 15, 16, 17, 18, 19]
我不知道我的解释是否有意义,但我基本上希望使用两个列表中的值并创建一个新列表。这就是我尝试过的:
lst1 = [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61]
def colorChecker(color):
for c in color:
return 6 + 7 * color
lst3 = [ p for p in lst1 if p < colorChecker([0,2])]
这似乎只适用于colorChecker[0]
,而不是colorChecker[1]
。你知道吗
因为
lst2
中的每个元素似乎引用了lst1
中的一组6个元素,所以我首先创建一个这些块的列表,如…评估结果是
最后,您只需flatten该列表即可获得结果。你知道吗
如果您已经知道丢失的元素将在哪里,那么
lst1
就完全不需要了。您的代码变得非常简单:相关问题 更多 >
编程相关推荐