<p><strong>代码:</strong></p>
<pre><code>mylist=[['a','b'],['a','c'],['b','c'],['c','d'],['d','e'],['e','c']]
#- Get Length of mylist which is used in 2nd for loop to iterate items from next item to last item
len_mylist = len(mylist)
#- Final Result Will store in following variable.
output = []
#- this is Index of item which already present in Output List.
remove_index = []
# Iterate every item from mylist with his Index.
for i, item in enumerate(mylist):
tmp = []
#- Check item is already present in Remove List of not.
if i in remove_index:
continue
#- Add index to Remove list and add item to tmp which is item in otput list.
remove_index.append(i)
tmp.append(item)
#- Iterate from Next item to last item of mylist.
for j in range(i+1, len_mylist):
itemj = mylist[j]
#- Set insert flag to True on which we are decide to insert item or not.
inser_flag = True
# Iterate on inner item
for tmp_item in tmp:
#- Check next item letters already present or not.
if tmp_item[0] in itemj or tmp_item[1] in itemj:
inser_flag = False
break
#- Check item is already present in Remove List of not.
if j in remove_index:
inser_flag = False
break
#- Add item to inner item if Flag is True.
if inser_flag:
remove_index.append(j)
tmp.append(itemj)
break
# append to Final Output
output.append(tmp)
</code></pre>
<p>输出:</p>
<pre><code>>>> output
[[['a', 'b'], ['c', 'd']], [['a', 'c'], ['d', 'e']], [['b', 'c']], [['e', 'c']]]
</code></pre>