我想将 5 点(A、B、C、D、E)与线连接起来。
使用 For Loop 很容易实现,但会有重复链接(AB = BA)。
任何人有想法防止它发生?
import itertools as it
points = ('A', 'B', 'C', 'D', 'E')
for pt1, pt2 in it.combinations(points, 2):
print '{0}-{1}'.format(pt1, pt2)
印刷
A-B
A-C
A-D
A-E
B-C
B-D
B-E
C-D
C-E
D-E
您可以修改内部循环以仅迭代剩余的项目:
points = ['A', 'B', 'C', 'D', 'E']
for i, x in enumerate(points):
for y in points[i + 1:]:
print x, y