Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中的for循环中增加1或2_Python_Python 3.x_For Loop - Fatal编程技术网

如何在python中的for循环中增加1或2

如何在python中的for循环中增加1或2,python,python-3.x,for-loop,Python,Python 3.x,For Loop,我已经创建了这个代码,但我需要它更通用。看看: if (card_task_e[1] > card_task_e[2]): #Starting with 1 ol_task_e.append(card_task_e[1]) counte+=1 if (card_task_e[1] > card_task_e[4]): counte+=1 ol_task_e.append(card_task_e[1]) if (card_task_e[1] > c

我已经创建了这个代码,但我需要它更通用。看看:

if (card_task_e[1] > card_task_e[2]): #Starting with 1
    ol_task_e.append(card_task_e[1])
    counte+=1
if (card_task_e[1] > card_task_e[4]):
    counte+=1
    ol_task_e.append(card_task_e[1])
if (card_task_e[1] > card_task_e[6]):
    counte+=1
    ol_task_e.append(card_task_e[1])
if (card_task_e[1] > card_task_e[8]):
    counte+=1
    ol_task_e.append(card_task_e[1])
if (card_task_e[1] > card_task_e[10]):
    counte+=1
    ol_task_e.append(card_task_e[1])
if (card_task_e[1] > card_task_e[12]):
    counte+=1
    ol_task_e.append(card_task_e[1])
if (card_task_e[3] > card_task_e[4]): #Going onto 3
    counte+=1
    ol_task_e.append(card_task_e[3])
if (card_task_e[3] > card_task_e[6]):
    counte+=1
    ol_task_e.append(card_task_e[3])
if (card_task_e[3] > card_task_e[8]):
    counte+=1
    ol_task_e.append(card_task_e[3])
if (card_task_e[3] > card_task_e[10]):
    counte+=1
    ol_task_e.append(card_task_e[3])
if (card_task_e[3] > card_task_e[12]):
    counte+=1
    ol_task_e.append(card_task_e[3])
if (card_task_e[5] > card_task_e[6]): #Going onto 5
    counte+=1
    ol_task_e.append(card_task_e[5])
if (card_task_e[5] > card_task_e[8]):
    counte+=1
    ol_task_e.append(card_task_e[5])
if (card_task_e[5] > card_task_e[10]):
    counte+=1
    ol_task_e.append(card_task_e[5])
if (card_task_e[5] > card_task_e[12]):
    counte+=1
    ol_task_e.append(card_task_e[5])
if (card_task_e[7] > card_task_e[8]): #Going onto 7
    counte+=1
    ol_task_e.append(card_task_e[7])
if (card_task_e[7] > card_task_e[10]):
    counte+=1
    ol_task_e.append(card_task_e[7])
if (card_task_e[7] > card_task_e[12]):
    counte+=1
    ol_task_e.append(card_task_e[7])
if (card_task_e[9] > card_task_e[10]): #Going onto 9
    counte+=1
    ol_task_e.append(card_task_e[9])
if (card_task_e[9] > card_task_e[12]):
    counte+=1
    ol_task_e.append(card_task_e[9])
if (card_task_e[11] > card_task_e[12]): #Finishing with 11
    counte+=1
    ol_task_e.append(card_task_e[11])
正如您所看到的,我有很多if条件,我觉得如果我使用for循环,效率会更高,但是我真的不知道如何在Python中实现它

请注意,数组“card_task_e”的长度可以从低到0或高到50


如果有人能帮助我改进for循环,我将不胜感激。

您可以通过使用计数器来引用特定的列表元素,该计数器在for循环的每个过程中递增2

counter = 0
for ____ in ____:
    counter += 2
    <do something to> some_list[counter]
计数器=0
对于,
计数器+=2
一些清单[柜台]

您还可以在循环中添加
if
语句,以指示计数器的递增方式。

您需要嵌套循环

for a in range(1,12,2):
    for b in range(a+1,13,2):
        if card_task_e[a] > card_task_e[b]:
            ol_task_e.append(card_task_e[a])
            counte += 1

未经测试,但这方面的一些变化将起作用;-)


哈哈,它应该检查数组的第一个值是否大于数组中其余的偶数索引A.Bhatnagar

为什么不简单地使用一个列表片来测试它呢

a = [16,1,2,3,4,5,6,7,8,9]
print ( a[0] > max ( a[2::2] ) ) # prints True

a = [16,1,2,3,4,5,6,7,8,9,22]
print ( a[0] > max ( a[2::2] ) ) # prints False

a[2::2]
a
的第二个元素开始,每第二个元素取一次,直到结束
max(..)
计算其中最大的一个,然后
a[0]>max(..)
检查a的第一个元素是否大于该列表中的所有其他偶数值。

这将适用于任何长度的
卡任务

首先,我们循环遍历奇数整数,从1到长度。在内部,我们在从当前奇数索引开始的偶数整数之间循环。每个for循环中的尾部2告诉循环在循环的每次迭代中增加2

list_size = len(card_task_e)
for odd_index in range(1, list_size, 2):
    for even_index in range(odd_index + 1, list_size, 2):
        ol_task_e.append(card_task_e[odd_index])
        counte += 1

欢迎来到SO。这是很多代码!你能试着把它精简成一个吗?哈哈,它应该检查数组的第一个值是否大于数组中其余的偶数索引。
all([a[0]>i for i in a[1:2:])
注意数组是零基的……你甚至不需要
all
-a
max(…)
所有偶数元素也可以,如果第0个大于第0个,则进行比较。这与问题所问的如何做无关。你的速记太短了,以至于你无法真正传达任何信息。问题是“如何在for循环中增加1或2”。问题的标题是“如何在for循环中增加1或2”。然后OP在问题的主体中进一步解释了他们到底想要什么。问题的主体并没有让我更清楚。如果这没有帮助,OP可以响应。我不认为代码做的正是OP认为它做的,如果它做了,它做的不是很有效。
list_size = len(card_task_e)
for odd_index in range(1, list_size, 2):
    for even_index in range(odd_index + 1, list_size, 2):
        ol_task_e.append(card_task_e[odd_index])
        counte += 1