Common elements between two lists not using sets in Python

后端 未结 3 1778
猫巷女王i
猫巷女王i 2020-12-06 06:26

I want count the same elements of two lists. Lists can have duplicate elements, so I can\'t convert this to sets and use & operator.

a=[2,2,1,1]
b=[1,1,3         


        
3条回答
  •  时光说笑
    2020-12-06 06:37

    SilentGhost, Mark Dickinson and Lo'oris are right, Thanks very much for report this problem - I need common part of lists, so for:

    a=[1,1,1,2]

    b=[1,1,3,3]

    result should be [1,1]

    Sorry for comment in not suitable place - I have registered today.

    I modified yours solutions:

    def count_common(l1,l2):
            l2_copy=list(l2)
            counter=0
            for i in l1:
                if i in l2_copy:
                    counter+=1
                    l2_copy.remove(i)
            return counter
    
    l1=[1,1,1]
    l2=[1,2]
    print count_common(l1,l2)
    

    1

提交回复
热议问题