【发布时间】:2014-12-09 18:06:36
【问题描述】:
如果我有这样的列表(请注意,它会在5、12、19、26 .. 等之后跳过一个。所以6、13、20、@ 987654328@都不见了):
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,
我想创建一个具有[0, 1, 2, 3, 4, 5, 14, 15, 16, 17, 18, 19] 的新lst3
我不知道我的解释是否有意义,但我基本上想使用两个列表中的值并创建一个新列表。这是我尝试过的:
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]。
【问题讨论】:
-
那么...你尝试了什么?
-
这个问题似乎离题了,因为它是关于让我们向您展示 codez
-
lst 3= [ p for p in playablePieces if p
-
@jonrsharpe 请检查编辑的主线程!谢谢
-
您可能必须在某个地方拥有
for whatever in [0, 2]。您不能只将列表传递给函数并期望它执行“哦,我猜他们的意思是递归调用函数”。将其拆分为多个步骤: 1. 将lst1分解为连续的部分; 2. 索引到新的列表列表中以获取您需要的部分; 3. 将他们重新组合在一起。不要试图将所有内容放在一条线上,这对任何人都没有帮助。
标签: python list list-comprehension