我正在尝试迭代python2d列表。当算法在列表上迭代时,它将把键添加到一个新列表中,直到检测到一个新值为止。然后对该列表应用一个操作,然后清空该列表,以便可以再次使用,如下所示:
original_list = [('4', 'a'), ('3', 'a'), ('2', 'a'), ('1', 'b'), ('6', 'b')]
当算法读取original_list
时,它应该计算每个对象的第二个值,并解密它是否与前一个值不同;如果不是,则将其添加到临时列表中。你知道吗
这是psedo代码
temp_list = []
new_value = original_list[0][1] #find the first value
for key, value in original_list:
if value != new_value:
temp_list.append(new_value)
应输出
temp_list = ['4', '3', '2']
我不完全确定你在问什么,但我认为^{} 可以帮助你:
它的作用是:用
key=lambda x: x[1]
将列表中的项按其值分组,并用(zip(*group)[0], k)
获取与一个值对应的键元组。你知道吗如果“键”本身不重复,您可以使用^{} 根据键对值进行“排序”,然后提取所需的内容
ddict
值现在都是temp_list
:相关问题 更多 >
编程相关推荐