πŸ”₯ μ΄ν„°λ ˆμ΄ν„° λ³‘λ ¬μ²˜λ¦¬λŠ” zip 으둜

may_soouuΒ·2021λ…„ 1μ›” 6일
0
post-thumbnail
names = ['computer','book', 'abc']
letters = [len(n) for n in names]

κ°€μž₯ κΈ΄ 이름을 μ°ΎλŠ” μ½”λ“œλ₯Ό μž‘μ„±ν•œλ‹€λ©΄,

names = ['computer','book', 'abc']
letters = [len(n) for n in names]

longest_name = None
max_letters = 0

for i in range(len(names)):
    count = letters[i]
    if count > max_letters:
        longest_name = names[i]
        max_letters = count

print(longest_name)
> computer

둜 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.
ν•˜μ§€λ§Œ, 인덱슀 i둜 루프에 μ ‘κ·Όν•˜λŠ” 과정이 두 번 μΌμ–΄λ‚©λ‹ˆλ‹€.
μœ„μ˜ μ½”λ“œλ₯Ό μ’€ 더 λͺ…λ£Œν•˜κ²Œ ν•˜κΈ° μœ„ν•΄ λ‚΄μž₯ ν•¨μˆ˜ zip을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

νŒŒμ΄μ¬μ—μ„œ zip은 μ΄ν„°λ ˆμ΄ν„° λ‘κ°œ 이상을 κ°μŒ‰λ‹ˆλ‹€. λ˜ν•œ 각 μ΄ν„°λ ˆμ΄ν„°λ‘œλΆ€ν„° λ‹€μŒ 값을 담은 νŠœν”Œμ„ μ–»μ–΄μ˜΅λ‹ˆλ‹€.

zip ν•¨μˆ˜ μ‚¬μš©ν•œ μ½”λ“œ

names = ['computer','book', 'abc']
letters = [len(n) for n in names]
longest_name = None
max_letters = 0
for name, count in zip(names, letters):
    if count > max_letters:
        longest_name = name
        max_letters = count
    

πŸ“Œ λ‚΄μž₯ν•¨μˆ˜ zip을 μ‚¬μš©ν•  λ•ŒλŠ” λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

μ΄ν„°λ ˆμ΄ν„°λ“€μ˜ 길이가 λ‹€λ₯΄λ©΄ zip이 μ œλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.
λ§Œμ•½, names λ¦¬μŠ€νŠΈμ— μƒˆλ‘œμš΄ 단어λ₯Ό μΆ”κ°€ν•˜κ³ , letters 의 μΉ΄μš΄ν„°λ₯Ό μ—…λ°μ΄νŠΈν•˜μ§€ λͺ»ν–ˆλ‹€λ©΄ κ²°κ³Όκ°€ μ •μƒμ μœΌλ‘œ λ‚˜μ˜€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

names = ['computer','book', 'abc']
letters = [len(n) for n in names]
longest_name = None
max_letters = 0

names.append('helloworld')
for name, count in zip(names, letters):
    if count > max_letters:
        longest_name = name
        max_letters = count

print(longest_name)
> computer


helloworld λ₯Ό append ν–ˆμ§€λ§Œ, letters에 반영이 λ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ—, 
computerκ°€ 제일 κΈ΄ λ‹¨μ–΄λ‘œ ν”„λ¦°νŠΈλ©λ‹ˆλ‹€.

λ§Œμ•½ zip으둜 μ‹€ν–‰ν•  리슀트의 길이가 κ°™λ‹€κ³  ν™•μ‹  ν•  수 μ—†λ‹€λ©΄, λ‚΄μž₯ λͺ¨λ“ˆ itertools의 zip_longestλ₯Ό κ³ λ €ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

좜처 : 파이썬 μ½”λ”©μ˜ 기술 λ„μ„œ

profile
back-end 개발자

0개의 λŒ“κΈ€