Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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根据条件遍历列表和计数项_Python_List - Fatal编程技术网

Python根据条件遍历列表和计数项

Python根据条件遍历列表和计数项,python,list,Python,List,假设我有一个Python列表,如下所示 list2 = list('ABCDCBEGHGWAOUOV') ['A', 'B', 'C', 'D', 'C', 'B', 'E', 'G', 'H', 'G', 'W', 'A', 'O', 'U', 'O', 'V'] 在第5点遍历列表时,我看到“C”再次出现。所以直到'D'它是+4和-1,因为它回来了 A->B->C->D +3 C<-D -1 B<-C -1 B->E->G->H +3 G<

假设我有一个Python列表,如下所示

list2 = list('ABCDCBEGHGWAOUOV')
['A', 'B', 'C', 'D', 'C', 'B', 'E', 'G', 'H', 'G', 'W', 'A', 'O', 'U', 'O', 'V']
在第5点遍历列表时,我看到“C”再次出现。所以直到'D'它是+4和-1,因为它回来了

A->B->C->D +3
C<-D -1
B<-C -1
B->E->G->H +3
G<-H -1
G->W +1
A<-W -4 etc...

我不确定预期输出是什么,或者这些数字背后的规则是什么。这没什么意义:
AB->C->D+4
:你计算节点数吗?但是这里
c您能更详细地解释一下您想要实现什么吗?预期的结果是什么?一份数字清单?像数字一样的分数?华夫饼?@Tobias我在试图理解一些遍历模式。@timgeb:Scores的列表是
-1
,因为一个项目
再次出现
,或者因为一个项目小于前一个项目?另外,
sum(列表2中的i为1)
没有任何作用,它没有被保留或使用-它的用途是什么?对于您提供的输入,
list2
您希望
list1
看起来是什么样子?嘿,怪人。感谢您的概念,实际上我正在尝试理解一些遍历模式:)如果您在list2中绘制模式并进行检查,这个问题就不会像现在这样愚蠢:)
list1 = []
for item in list2:
    if item in list1:
        sum(1 for i in list2)
    else:
        list1.append(item)
from itertools import islice

def get_it(list2):
    moves = []
    buffer = []
    prev = list2[0]

    for current in islice(list2, 1, None):
        el = 2 * (current > prev) - 1
        if buffer and el != buffer[0]:
            moves.append(sum(buffer))
            buffer = []
        buffer.append(el)
        prev = current

    if buffer:
        moves.append(sum(buffer))

    return moves