• [๐Ÿ’ปPython ํŒŒ์ด์ฌ] zip() ํ•จ์ˆ˜์™€ iterable ์ž๋ฃŒํ˜•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž!

    2024. 2. 9.

    by. @leeeun

    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€

    ๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋‘ ๋ฌธ์ž์—ด str1๊ณผ str2๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋‘ ๋ฌธ์ž์—ด์˜ ๊ฐ ๋ฌธ์ž๊ฐ€ ์•ž์—์„œ๋ถ€ํ„ฐ ์„œ๋กœ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉด์„œ ํ•œ ๋ฒˆ์”ฉ ๋“ฑ์žฅํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค์–ด return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

     

    ์š”๋Ÿฐ ๋ฌธ์ œ๋ฅผ ๋งž๋‹ฅ๋œจ๋ ธ๋Š”๋ฐ, ์ด๋•Œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด๋ฅผ ๋ณด๋‹ค๊ฐ€ zip()ํ•จ์ˆ˜๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค!

    ์ฐธ ํŒŒ์ด์ฌ์€ ์•Œ ๊ฑฐ ๊ฐ™๋‹ค๊ฐ€๋„ ๋งจ๋‚  ๊นŒ๋จน๊ณ ... ์ƒˆ๋กœ์šด๊ฒŒ ๊ณ„์† ๋‚˜์˜ค๊ณ .... ๋ถ•์–ด์ธ ๋‚˜๋Š” ๊ณ„์† ๋ฆฌ๋งˆ์ธ๋“œ๋ฅผ ํ•˜๋ฉด์„œ ์™ธ์šธ ์ˆ˜ ๋ฐ–์—...

    ๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ zip()ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

     

     

    zip() ํ•จ์ˆ˜๋Š”?

    • zip(iterable) ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ
    • zip(a,b,c,..) : 2๊ฐœ ์ด์ƒ์˜ iterable ๊ฐ์ฒด๋ฅผ ๋„˜๊ฒจ์ค„ ์ˆ˜ ์žˆ๋‹ค.
    • ํŒŒ์ด์ฌ์˜ ๋‚ด์žฅ ํ•จ์ˆ˜๋กœ, ์ˆœํšŒ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด๋ฅผ ์ธ์ž๋กœ ๋ฐ›๊ณ  ๊ฐ ์ž๋ฃŒํ˜•์˜ ๊ฐ๊ฐ์˜ ์š”์†Œ๋ฅผ ๋‚˜๋ˆˆํ›„ ์ธ๋ฑ์Šค๋ผ๋ฆฌ ์ž˜๋ผ์„œ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.
    • ๊ทธ๋Ÿผ ์ด ๋•Œ iterable ์ž๋ฃŒํ˜•์ด๋ž€?

     

     

    ์ฃผ์˜์‚ฌํ•ญ

    • ๋„˜๊ฒจ์ฃผ๋Š” iterable ๊ฐ์ฒด์˜ ์ธ์ž์˜ ๊ธธ์ด๋ฅผ ๋˜‘๊ฐ™์ด ํ•ด์•ผ ํ•œ๋‹ค!!
    • ์˜ˆ๋ฅผ ๋“ค์–ด list 2๊ฐœ๋ฅผ ๋„˜๊ฒจ์ฃผ๋Š”๋ฐ ํ•˜๋‚˜๋Š” ์š”์†Œ๊ฐ€ 5๊ฐœ๊ณ , ํ•˜๋‚˜๋Š” ์š”์†Œ๊ฐ€ 3๊ฐœ๋ฉด 3๊ฐœ์˜ ์ง๋งŒ ๋ฐ˜ํ™˜์„ ํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋ฒ„๋ ค์ง„๋‹ค.

     

     

    iterable ์ž๋ฃŒํ˜•

    • iterableํ•˜๋‹ค๋Š” ๊ฒƒ์€ "๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•˜๋‹ค"๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
    • ์ฆ‰ iterable ์ž๋ฃŒํ˜•์€ ๋ฐ˜๋ณต๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ, ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.
    • string, list, tuple, range,set, dictionary,byte,range ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ์ด์— ํ•ด๋‹น๋œ๋‹ค.
    • for i in iterable๋ฐ์ดํ„ฐ : iterable ๊ฐ์ฒด๋Š” ์ˆœํšŒ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ์ด๋Ÿฌํ•œ ํ˜•์‹์œผ๋กœ ์š”์†Œ์˜ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๋ฆฌํ„ดํ•  ์ˆ˜ ์žˆ๋‹ค.

     

     

    zip() ํ•จ์ˆ˜์˜ ํ™œ์šฉ

    ๋‚ด๊ฐ€ ๋งˆ์ฃผ์ณค๋˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค๋ฉด,

     

    ๋ฌธ์ œ

    ๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋‘ ๋ฌธ์ž์—ด str1๊ณผ str2๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
    ๋‘ ๋ฌธ์ž์—ด์˜ ๊ฐ ๋ฌธ์ž๊ฐ€ ์•ž์—์„œ๋ถ€ํ„ฐ ์„œ๋กœ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉด์„œ ํ•œ ๋ฒˆ์”ฉ ๋“ฑ์žฅํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค์–ด return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

     

    zip()ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ ํ’€์ด

    def solution(str1, str2):
        return ''.join(i+j for i,j in zip(str1,str2))

     

    ์ด๋ ‡๊ฒŒ ๋‘ ๊ฐœ์˜ ์š”์†Œ๋ฅผ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉด์„œ ์ถœ๋ ฅํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ zip(x,y)๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค!

     

     

    ์š”๋Ÿฐ ํ˜•ํƒœ์˜ ์˜ˆ์‹œ๋ฅผ ๋“ค๋ฉด

    list1=["a","b","c","d"]
    list2=[1,2,3,4]
    
    for a,b in zip(list1,list2):
    	print(a,b)

     

    ์ด๋ ‡๊ฒŒ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ๊ฐ ์ชผ๊ฐ ๋‹ค์Œ ์ธ๋ฑ์Šค๊ฐ€ ๊ฐ™์€ ์š”์†Œ๋ฅผ ๋ฌถ์–ด์„œ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค!

    ์•ž์œผ๋กœ ์ฝ”ํ…Œ์—์„œ ์“ธ ์ผ์ด ๋งŽ์„ ๊ฒƒ ๊ฐ™์œผ๋‹ˆ ์•Œ์•„๋‘๊ธฐ!!

    '๐Ÿ’ญ Study > : Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    ๐Ÿ’ปPython:: packages  (0) 2024.01.26
    ๐Ÿ’ปPython:: Class  (1) 2024.01.26
    ๐Ÿ’ปPython:: input & File  (1) 2024.01.26
    ๐Ÿ’ปPython :: function ํ•จ์ˆ˜  (0) 2024.01.26
    ๐Ÿ’ปPython:: Module  (0) 2024.01.25

    ๋Œ“๊ธ€