可以使用把列表转换成集合然后做它们的差集,比如我们可以从下面的例子中得出l1和l2列表不同的元素:
l1 = [1,2,3,4,5]
l2 = [1,3,5]
difference = list(set(l1) - set(l2))
print(difference)
输出:
[2, 4]
l1 = list('11100101')l2 = list('00101011')
l3 = ['1' if l1[i]==l2[i] else '0' for i in range(len(l1))]
print ''.join(l3)
简单的调试了下,效果实现了:
代码:
import randoma=['a','s','d']
b=['j','k','l']
c=['o','p','q']
d=[]
cont=''
test=[a,b,c]
random.shuffle(test) #把test列表打乱,防止下面的for循环默认从a列表开始遍历,做到随机的效果
for i in test:
d.append(i[random.randint(0,2)]) #随机从列表里获取一个元素放进d列表内,能实现从a,b,c列表里分别都随机获取一个元素
#对返回顺序进行处理
if d[0] in a:
cont+='a'
if d[1] in b:
cont+='.b.c'
else:
cont+='.c.b'
elif d[0] in b:
cont+='b'
if d[1] in a:
cont+='.a.c'
else:
cont+='.c.a'
elif d[0] in c:
cont+='c'
if d[1] in a:
cont+='.a.b'
else:
cont+='.b.a'
print(d)
print(cont)
测试结果:
功能是实现了,不过代码看起来有点多,你觉得不够好可以再优化一下