본문 바로가기
공부 STUDY/파이썬 python

파이썬 python - list 리스트 함수 안의 값 찾기 그리고 같은 리스트의 다른 값 출력하기 코딩 독학

by 비프리노 2021. 9. 6.

썸네일

  어디 한 번 해보자. 초보인 나에겐 어려울 거라 생각했는데 그래도 해야 느니까 해본다.

for i in range(0, len(info)):
    if 'a' in n1:
        print(info[i])
    else:
        print('아니오')

  만들고 싶은 건 info 리스트에 3가지 값을 각각 넣은 후 그걸 n1의 값이랑 매칭 시키는 거다. 역시 독학은 쉽지 않지만 겁나게 재밌다.

n1 = ['a','b','c','d','e','f','g']
n2 = ['1','2','3','4','5','6','7','8','9']
info = [['a1','a','1'],['c3','c','3']]

if 'aa' in n1:
    print('네')
else:
    print('아니오')

  값이 없으므로 '아니오'가 출력된다. 그럼 이제 a를 검색한 뒤에 그게 있다면 리스트의 첫번째 값을 출력해보자.

for i in info:
    if 'a' in n1:
        print(info[i])
    else:
        print('아니오')

  이렇게 쓰니 계속 에러가 발생한다. TypeError: 'list' object is not callable 리스트를 못 불러온다 뭐 그런 거 같다. 자세히 살펴보니

for i in info: # 이 놈이 문제인듯
              # 의도는 i = 0 이었으나 info 안의 값이라 리스트로 불러와짐
              # len을 이용하여 숫자로 바꾸자
    if 'a' in n1:
        print(info[i])
    else:
        print('아니오')
        
        
# 출력값 
['a1', 'a', '1']
['c3', 'c', '3']

왜 또 저렇게 나오나 했는데 in n1으로 되어있는 것도 문제 어쨌든 다시 고쳐본다.

n1 = ['a','b','c','d','e','f','g']
n2 = ['1','2','3','4','5','6','7','8','9']

info = [['a1','a','1'],['c3','c','3']]

for i in range(0, len(info)):
    if 'a' in info[i]:
        print(info[i][0])
    else:
        print('아니오')
        
# 출력값
a1
아니오

  오 됐다. 처음엔 리스트가 뭔지도 몰라서 진짜 고생했는데 지금은 아주 대충은 아는 것 같다. 파이썬 독학시작한 것도 일주일 된 거 같은데 이것저것 만들다보니 재미를 많이 느낀다. 근데 문제는 a만 있는게 아니라 a, 1이 충족되어야 a1을 출력할 수 있도록 하는거다. 그걸 만들어보자. 

n1 = ['a','b','c','d','e','f','g']
n2 = ['1','2','3','4','5','6','7','8','9']

info = [['a1','a','1'],['a2','a','2'],['c3','c','3']]

for i in range(0, len(info)):
    if 'a' in info[i]:
        if '1' in info[i]:
            print(info[i][0])   
    else:
        print('아니오')
        
##### 출력값
a1
아니오

  두 가지 조건을 만족시켜야 출력이 된다. 그럼 이제 n1과 n2의 값을 각각 대입해보자

n1 = ['a','b','c','d','e','f','g']
n2 = ['1','2','3','4','5','6','7','8','9']

info = [['a1','a','1'],['a2','a','2'],['c3','c','3']]


for i1 in n1:
    for i2 in n2:
        for i in range(0, len(info)):
            if i1 in info[i]:
                if i2 in info[i]:
                    print(info[i][0])   
                    
                    
#### 출력값
a1
a2
c3

  완성. 아주 만족스럽다. 이걸로 n1 & n2의 원하는 다른 값을 얻을 수 있다. 오예.

  생각보다 어려운 게 아니었다. 역시 코딩은 해봐야알아

댓글