有两个列表:
k = ['a', 'a', 'b', 'b', 'c', 'c', 'd', 'e']
l = ['a', 'c', 'e']
我想从这两个列表中找到相同的元素,即:
['a', 'c', 'e']
然后我想从两个列表中打印出我们找到的元素,例如'a',即:['a', 'a', 'a']
.
我想要的结果如下:
['a', 'a', 'a', 'c', 'c', 'c', 'e', 'e']
我尝试这样做:
c = []
for item_k in k:
for item_j in j:
if item_k== item_j:
c.append(item_k)
c.append(item_j)
然而,结果是['a', 'a', 'c', 'c', 'e', 'e']
也可以这样:
c=[]
for item_k in k:
if item_k in l:
c.append(item_k)
d=l.count(item_k)
c.append(item_k*d)
print c
但是它不起作用,谁能告诉我该怎么做?非常感谢您的提前帮助
最佳答案
result = [x for x in sorted(k + l) if x in k and x in l]
print(result)
结果:
['a', 'a', 'a', 'c', 'c', 'c', 'e', 'e']
关于python - 从两个列表中找到相同的元素并打印两个列表中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31682366/