python print %s - 목록에있는 하나 이상의 항목이 다른 목록에 있는지 확인하는 한 줄 짜기?





3 Answers

Python 2.6 이상 :

def func(a, b):
  return not set(a).isdisjoint(b)

2.4 또는 2.5 :

def func(a, b):
  return len(set(a).intersection(b)) != 0

2.3 이하 :

sudo apt-get update
sudo apt-get upgrade

;)

파이썬 format 입출력

이 질문에는 이미 답변이 있습니다.

내가 목록을 가지고 있다고하자 a=[1,2,3] 그리고 그 안에있는 숫자 중 적어도 하나가 다른 목록에 존재하는 지 알고 싶습니다 : b=[4,5,6,7,8,1] 즉, 목록 b 1,2,3가 있는지 알고 싶습니다. 이제 나는 뭔가를 할 수있다.

def func(a, b):
    for i in a:
       if i in b:
          return True
    return False

그러나 일을 깔끔하게 만들기 위해 한 줄에 넣을 수있는 방법이 있을까요?




이것은 집합 문제이며 목록 문제는 아닙니다. 올바른 데이터 유형을 사용하면 대답은 종종 즉시 분명 해집니다.

def func(a, b):
    return not set(a).isdisjoint(b)



이것은 효과가있다.

def func(a, b):
    return any([i in b for i in a])



Related


Tags

python