37,720
社区成员
发帖
与我相关
我的任务
分享
list=[['A','B'],['B','C'],['B','E'],['C','H'],['E','H'],['C','D'],['H','D']]
#! /usr/bin/env python
# coding: cp936
lst = [['A','B'],['B','C'],['B','E'],['C','H'],['E','H'],['C','D'],['H','D']]
pathlist = []
for pair in lst:
if len(pathlist)==0:
pathlist.append(''.join(pair))
pathlist.append(''.join(pair[::-1]))
else:
newlist = []
for plist in pathlist:
if plist.endswith(pair[0]):
newlist.append(plist+pair[1])
elif plist.endswith(pair[1]):
newlist.append(plist+pair[0])
pathlist.extend(newlist)
print pathlist
for path in pathlist:
if path.startswith('A') and path.endswith('H'):
print '-'.join(path)
['AB', 'BA', 'ABC', 'ABE', 'ABCH', 'ABEH', 'ABCHE', 'ABCD', 'ABCHD', 'ABEHD', 'ABCDH']
A-B-C-H
A-B-E-H
A-B-C-D-H