比较 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]]
有没有办法在不合并的情况下对 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]]