Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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
将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 - Fatal编程技术网

将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']]

将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

我的意思是要找出是否有相同的项目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])]
打印(数据)

我喜欢@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)