하하하호호호
272
2020-09-29 11:25:18 작성 2020-09-29 11:30:45 수정됨
3
202

파이썬 딕셔너리 리스트에서 in 명령어를 쓸 수 있나요?


딕셔너리를 담고 있는 리스트가 있는데요 여기서 for in 문을 써서 값이 있는지 검사하는걸

in 명령어를 써서 줄이고 싶은데 가능할까요?


for문 예시 :  student_list가 student딕셔너리를 담고 있는 리스트

           my_name="haha"

            for student in student_list:

                if my_name== student ['name']:

                    print('내 이름이있다')

이 로직을 in 명령어 가능 할까요?

0
  • 답변 3

  • howoni123
    429
    2020-09-29 12:14:44
    >>> a = [{"name":"haha"},{"name":"hi"},{"name":"howoni"}]
    >>> a
    [{'name': 'haha'}, {'name': 'hi'}, {'name': 'howoni'}]
    >>> a[0]
    {'name': 'haha'}
    >>> a[0]['name']
    'haha'
    >>> for i in a:
    ...     if 'ha' in i['name']:
    ...             print("O")
    ...     else:
    ...             print("X")
    ...
    O
    X
    X


  • pyo
    40
    2020-09-29 12:34:26 작성 2020-09-29 12:39:07 수정됨

    student_list을 딕셔너리로 이루어진 배열로 만드신 뒤

    if any( student ['name'] == my_name for student in student_list):

    print('내 이름이있다')

    로하면 가능할듯합니다.

    처리방식만보면 howoni123 님 답변과 같네요 

  • howoni123
    429
    2020-09-29 12:41:13

    @pyo

    if any( my_name in student['name'] for student in student_list):
      print('내 이름이있다')

    질문자님께서는 `my_name in student['name']` 에 대해서 여쭤본거 같습니다.

  • 로그인을 하시면 답변 을 등록할 수 있습니다.