比较 numpy 数组的每个列表中的每个项目

Compare each item in each list of numpy array

有没有办法在不合并的情况下对 numpy 数组中的每个列表执行类似的操作?:

for item, nextItem in zip(list,list[1::]): 

我的 numpy 数组:

    for i in range(0, len(list1), lines):
        array1 = np.array(list1[i:i+lines])

样本输出:

['23' '23' '23' '23']

['43' '43' '63' '43']

['43' '43' '43' '43']

我想遍历 numpy 数组,比较每个列表中的 item/nextItem 而不合并它们? Zip 在常规列表上为我工作:

for item, nextItem in zip(list,list[1::]):
    if item != nextItem:
        #do stuff

提前致谢。任何见解将不胜感激。

itertools.groupby 计算列表中的连续重复项。这里它应用于列表的列表:

from itertools import groupby
line = 0
list1 = [['23', '23', '23', '23'], ['43', '43', '63', '43'], ['43', '43', '43', '43']]

for x in list1:
    a = [[i, len([*group])] for i, group in groupby(list1[line])]
    line+=1
    print(a)

#RESULT:
    [['23', 4]]
    [['43', 2], ['63', 1], ['43', 1]]
    [['43', 4]]