将2D列表项与python中的每个其余项进行比较 我正在尝试比较我的2D列表项。我的列表如下所示: print(data) [['1', '2'], ['1', '3'], ['2', '4'], ['2', '5'], ['2', '6'], ['3', '4'], ['2', '1'], ['3', '5'], ['4', '6'], ['5', '6']]
我的意思是要找出是否有相同的项目2次。不完全相同,但在我的例子中是:将2D列表项与python中的每个其余项进行比较 我正在尝试比较我的2D列表项。我的列表如下所示: print(data) [['1', '2'], ['1', '3'], ['2', '4'], ['2', '5'], ['2', '6'], ['3', '4'], ['2', '1'], ['3', '5'], ['4', '6'], ['5', '6']],python,list,multidimensional-array,Python,List,Multidimensional Array,我的意思是要找出是否有相同的项目2次。不完全相同,但在我的例子中是:有数据[0]是['1','2'],数据[6]是['2','1']。我需要删除像这样的“重复项”只是想知道是否有此功能。 谢谢大家。简单列表理解: data=[list(i)for i in set([tuple(排序(i))for i in data])] 打印(数据) 简单列表理解: data=[list(i)for i in set([tuple(排序(i))for i in data])] 打印(数据) 我喜欢@Abhin
有数据[0]是['1','2'],数据[6]是['2','1']。我需要删除像这样的“重复项”
只是想知道是否有此功能。
谢谢大家。简单列表理解:
data=[list(i)for i in set([tuple(排序(i))for i in data])]
打印(数据)
简单列表理解:
data=[list(i)for i in set([tuple(排序(i))for i in data])]
打印(数据)
我喜欢@Abhinav Mathur的解决方案
但是如果您想保留列表的顺序和格式,那么解决方案可能会更复杂一些
大概是这样的:
data = [['1', '2'], ['1', '3'],
['2', '4'], ['2', '5'],
['2', '6'], ['3', '4'],
['2', '1'], ['3', '5'],
['5', '3'], ['4', '6'],
['5', '6'], ['1', '2'],
['5', '3']]
len_data = len(data)
i=0
while i < len_data:
curr_value = sorted(data[i])
data[i+1:] = [val for val in data[i+1:] if sorted(val) != curr_value]
i+=1
len_data = len(data)
print(data)
我喜欢@Abhinav Mathur的解决方案 但是如果您想保留列表的顺序和格式,那么解决方案可能会更复杂一些 大概是这样的:
data = [['1', '2'], ['1', '3'],
['2', '4'], ['2', '5'],
['2', '6'], ['3', '4'],
['2', '1'], ['3', '5'],
['5', '3'], ['4', '6'],
['5', '6'], ['1', '2'],
['5', '3']]
len_data = len(data)
i=0
while i < len_data:
curr_value = sorted(data[i])
data[i+1:] = [val for val in data[i+1:] if sorted(val) != curr_value]
i+=1
len_data = len(data)
print(data)