1
Sample = ['A$$N','BBBC','$$AA']

我需要将每个元素与列表中的每个其他元素进行比较。所以比较sample[0]and sample[1], sample[0], and sample[2], sample[1]and sample[2]

如果比较中的任何对具有$,则$,并且需要消除相应的元素。

例如在:

sample[0] and sample[1]    Output1 : ['AN','BC']
sample[0] and sample[2]    Output2 : ['N', 'A']
sample[1] and sample[2]    Output3 : ['BC','AA']
for i in range(len(sample1)):
    for j in range(i + 1, len(sample1)):
        if i == "$" or j == "$":
            #Need to remove "$" and the corresponding element in the other list

   #Print the pairs
4

1 回答 1

1

This may not be the most beautiful code but will do the job.

from itertools import combinations
sample = ['A$$N','BBBC','$$AA']
output = []
for i, j in combinations(range(len(sample)), 2):
    out = ['', '']
    for pair in zip(sample[i], sample[j]):
        if '$' not in pair:
            out[0] += pair[0]
            out[1] += pair[1]
    output.append(out)
print(output)
于 2016-10-16T17:36:52.973 回答