본문 바로가기
코딩 연습/코딩배우기

파이썬 리트스 순서 뒤집기 revers(), reversed() 함수, 그리고 리스트 묶기 zip() 함수

by good4me 2020. 11. 12.

goodthings4me.tistory.com

 

■ 리트스 순서 뒤집기 revers(), reversed() 함수

list1 = ['사과', 3, '40', 'apple', '홍길동']

rlist1 = reversed(list1)  ## 순서가 뒤집힌 리스트 이터레이터 객체 반환
print(rlist1)
# <list_reverseiterator object at 0x00000223B2D8FB38>

print(list(rlist1))
# ['홍길동', 'apple', '40', 3, '사과']

print(list1)  ## 리스트 원본 수정 안됨
# ['사과', 3, '40', 'apple', '홍길동']


list1.reverse()  ## 리스트 원본 수정됨

print(list1)
# ['홍길동', 'apple', '40', 3, '사과']

good4me.co.kr

 

■ 리스트 묶어서 활용하는 zip() 함수

names = ['김홍두', '조용해', '나해커']
ages = [41, 57, 22 ]
hobbies = ['미술', '노래', '해킹']
genders = ['남', '남', '여']


people = []
for name, age, hobby, gender in zip(names, ages, hobbies, genders):
    person = {}
    print(f'{name}({str(age)}, {gender})의 취미 : {hobby}')
    # 김홍두(41, 남)의 취미 : 미술
    # 조용해(57, 남)의 취미 : 노래
    # 나해커(22, 여)의 취미 : 해킹
    
    person['name'] = name
    person['age'] = age
    person['hobby'] = hobby
    person['gender'] = gender
    people.append(person)

print(people)
#[{'name': '김홍두', 'age': 41, 'hobby': '미술', 'gender': '남'}, 
#{'name': '조용해', 'age': 57, 'hobby': '노래', 'gender': '남'}, 
#{'name': '나해커', 'age': 22, 'hobby': '해킹', 'gender': '여'}]


def emp(name, age, **option):
    print('이름 : ' + name)
    print('나이 : ' + str(age))
    if 'gender' in option :
        print('성별 : ' + option.get('gender'))
    if 'hobby' in option:
        print('취미 : ' + option.get('hobby') + '\n')


for p in people:
    emp(p['name'], p['age'], gender = p['gender'], hobby = p['hobby'])
    
#이름 : 김홍두
#나이 : 41
#성별 : 남
#취미 : 미술
#
#이름 : 조용해
#나이 : 57
#성별 : 남
#취미 : 노래
#
#이름 : 나해커
#나이 : 22
#성별 : 여
#취미 : 해킹

    

 

 

댓글