๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ | Python/ํŒŒ์ด์ฌ ๋ฌธ๋ฒ•

๋ณ€์ˆ˜

by KASSID 2021. 9. 13.

๋ชฉ์ฐจ

    728x90

    ๋ณ€์ˆ˜๋Š” '๊ฐ’์ด ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์œ„์น˜์— ์ฃผ์–ด์ง„ ์ด๋ฆ„'์„ ๋งํ•œ๋‹ค.

     

    a=[1,2,3]
    id(a)
    ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก
    1713303723008

    ์œ„์˜ ์˜ˆ์‹œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ•จ์ˆ˜ id()๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ a์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ’์„ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๋‹ค.

     

    b=a
    id(b)
    ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก
    1713303723008

    ์ž ์—ฌ๊ธฐ์„œ b๋ผ๋Š” ๋ณ€์ˆ˜์— a๋ฅผ ํ• ๋‹นํ•˜๋ฉด a์™€b์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ์™„์ „ํžˆ ๋™์ผํ•œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

    ๋‹ค์‹œ ๋งํ•ด a์™€ b๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋Œ€์ƒ์ด ๋™์ผํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

    ์œ„์˜ ๊ทธ๋ฆผ ์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ์ด๋ฆ„์˜ ๋‘ ๋ณ€์ˆ˜๊ฐ€ ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ƒํ™ฉ์ธ ๊ฒƒ์ด๋‹ค!

    (์ด๋Ÿฌํ•œ ํ˜„์ƒ์€ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด์—์„œ ์ผ์–ด๋‚œ๋‹ค. list,

    set, dictionary ๋“ฑ)

    a = [1,2,3]
    b = a
    a[1] = 'a'
    b
    ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก
    [1, 'a', 3]

    a๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด b์—ญ์‹œ ํ•จ๊ป˜ ์ˆ˜์ •๋˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

    ๋™์ผํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฐ๊ณผ๋ฌผ์ด๋‹ค.

     

    ๋ณ€์ˆ˜์˜ ๊ฐ’๋งŒ ๋ณต์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•

     

    1. copy()

    copyํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ณ€์ˆ˜์˜ ๊ฐ’๋งŒ ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

    a=[1,2,3]
    b=a.copy()
    a[0]=2
    b
    ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก
    [1,2,3]

    ์œ„์˜ ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด a๋ฅผ ์ˆ˜์ •ํ•ด๋„ b๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

     

    2.  [:]

    [:]๋ฅผ ์ด์šฉํ•ด๋„ copyํ•จ์ˆ˜์™€ ๋™์ผํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

    a=[1,2,3]
    b=a[:]
    a[0]=2
    b
    ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก
    [1,2,3]

    '๐Ÿ | Python > ํŒŒ์ด์ฌ ๋ฌธ๋ฒ•' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    ์–•์€ ๋ณต์‚ฌ์™€ ๊นŠ์€ ๋ณต์‚ฌ  (0) 2021.09.13
    ๋ฎคํ„ฐ๋ธ”(mutable)๊ณผ ์ด๋ฎคํ„ฐ๋ธ”(immutable)  (0) 2021.09.13
    while  (0) 2021.09.06
    for  (0) 2021.09.06
    if  (0) 2021.09.06

    ๋Œ“๊ธ€