본문 바로가기
프로그램

[파이썬] 문제 : 두 리스트 a, b에서 a요소가 b 리스트에 모두 있는지 비교

by 오디세이99 2022. 12. 4.
728x90
반응형

(문제)

a = ['python','C++']

b = ['python','C','Java','C++']
 
여기에서 만약 a안에 있는것중에 하나라도 b에 없다면 'ERROR' 을 출력
 
(방법)
1)
a = ['python','C++']
# a = ['python','C','Java','C++']
b = ['python','C','Java','C++']

if a != b:                # a의 요소가 b의 요소와 같은 것만 있다고 가정할때. 이러면 a == b 가 됨.
    print('ERROR')         # a안에 있는것중에 하나라도 b에 없다면 'ERROR' 했으므로
else:
    print('OK')

결과

ERROR

 

2)

# a = ['python','C++','C#']
a = ['python','C++','C#','C','Java']
b = ['python','C','Java','C++']

flag = True                # a의 요소가 b의 요소와 다른 요소가 있을 수 있다고 가정할때. 이러면 a != b 지만
for i in b:                # a의 요소가 b에 모두 있다면 ERROR 가 아님
    if i not in a:
        flag = False
        break
        
if flag == False:
    print('ERROR')
else:
    print('OK')

결과

OK

 

3) a의 요소가 b에 모두 있다면 OK. 아니면 ERROR

a = ['python','C++','Java']
b = ['python','C','Java','C++']

flag = True                # a의 요소가 b의 요소와 다른 요소가 있을 수 있다고 가정할때. 이러면 a != b 지만
for i in a:                # a의 요소가 b에 모두 있다면 ERROR 가 아님
    if i not in b:
        flag = False
        break
        
if flag == False:
    print('ERROR')
else:
    print('OK')

결과

OK
728x90
반응형

댓글