Python Tutorial - List Tuple, Dic, Set

Python Tutorial - List, Set, Dict, Tuple

Reference

์ ํ”„ ํˆฌ ํŒŒ์ด์ฌ:๋ฐ•์‘์šฉ

https://wikidocs.net/book/1

Overview

Python ๊ฐ์ฒด์—๋Š” mutable๊ณผ immutable ๊ฐ์ฒด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Mutable: ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์—์„œ ๊ฐ’ ์ˆ˜์ • ๊ฐ€๋Šฅ

  • Immutable: ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์—์„œ ๊ฐ’ ์ˆ˜์ • ๋ถˆ๊ฐ€๋Šฅ. ๊ธฐ์กด ๋ณ€์ˆ˜๊ฐ’์„ ์ˆ˜์ •ํ•  ์‹œ ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ƒ์„ฑ๋จ

๊ฐ์ฒด ์ง‘ํ•ฉ์€, mutable ๋ฐ ์ˆœ์„œ ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๊ฐ์ฒดํ˜•ํƒœ๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.

class
์„ ์–ธ
์„ค๋ช…
๊ตฌ๋ถ„

list

[ ]

mutable, ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๊ฐ์ฒด ์ง‘ํ•ฉ

mutable

tuple

( )

immutable, ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๊ฐ์ฒด ์ง‘ํ•ฉ

immutable

dict

{ }

mutable, ์ˆœ์„œ ์—†๊ณ , key์™€ value๊ฐ€ ๋งตํ•‘๋œ ๊ฐ์ฒด

mutable

set

{ : }

mutable, ์ˆœ์„œ ์—†๋Š” ๊ณ ์œ ํ•œ ๊ฐ์ฒด ์ง‘ํ•ฉ

mutable

List

  • ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์ˆ˜์ •๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

  • list ๋Š” [] ๋Œ€๊ด„ํ˜ธ๋กœ ์ž‘์„ฑ๋˜์–ด์ง€๋ฉฐ, ๋‚ด๋ถ€ ์›์†Œ๋Š” ,๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.

Tuple

  • tuple(ํŠœํ”Œ)์€ ๋ถˆ๋ณ€ํ•œ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

  • listํ˜•๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ํ•œ ๋ฒˆ ์ƒ์„ฑ๋˜๋ฉด ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Dictionary

  • immutableํ•œ ํ‚ค(key)์™€ mutableํ•œ ๊ฐ’(value)์œผ๋กœ ๋งตํ•‘๋˜์–ด ์žˆ๋Š” ์ˆœ์„œ๊ฐ€ ์—†๋Š” ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

  • ํ‚ค๋กœ๋Š” immutableํ•œ ๊ฐ’์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, mutableํ•œ ๊ฐ์ฒด๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • ์ค‘๊ด„ํ˜ธ๋กœ ๋˜์–ด ์žˆ๊ณ  ํ‚ค์™€ ๊ฐ’์ด ์žˆ์Šต๋‹ˆ๋‹ค. {"a" : 1, "b":2}

Set

  • ์ˆœ์„œ๊ฐ€ ์—†๊ณ , ์ง‘ํ•ฉ์•ˆ์—์„œ๋Š” uniqueํ•œ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

  • ๊ทธ๋ฆฌ๊ณ  mutable ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.

  • ์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ dictionary์™€ ๋น„์Šทํ•˜์ง€๋งŒ, key๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ’๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. s = {3, 5, 7}

Examples


LIST ์‚ฌ์šฉ์˜ˆ์‹œ

  • ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์ˆ˜์ •๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

  • list ๋Š” [] ๋Œ€๊ด„ํ˜ธ๋กœ ์ž‘์„ฑ๋˜์–ด์ง€๋ฉฐ, ๋‚ด๋ถ€ ์›์†Œ๋Š” ,๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.

Index, Slicing

  • ๋ฆฌ์ŠคํŠธ๋ณ€์ˆ˜[์‹œ์ž‘์ธ๋ฑ์Šค:์ข…๋ฃŒ์ธ๋ฑ์Šค:step]

  • ์ข…๋ฃŒ์ธ๋ฑ์Šค์˜ ์›์†Œ๋Š” ํฌํ•จ๋˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์•ž ์›์†Œ๊นŒ์ง€๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. step์€ ์ƒ๋žต๋ฉ๋‹ˆ๋‹ค.

Tuple ์‚ฌ์šฉ์˜ˆ์‹œ

  • List์™€ ๊ฑฐ์˜ ๋™์ผํ•˜์ง€๋งŒ, ํŠœํ”Œ์€ ์š”์†Ÿ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค.

  • const ์„ฑ๋Šฅ์œผ๋กœ ์‚ฌ์šฉํ• ๋•Œ ์œ ์šฉํ•จ

Dictionary ์‚ฌ์šฉ์˜ˆ์‹œ

  • ๊ฐ’์€ ์ค‘๋ณต๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ํ‚ค๊ฐ€ ์ค‘๋ณต๋˜๋ฉด ๋งˆ์ง€๋ง‰ ๊ฐ’์œผ๋กœ ๋ฎ์–ด์”Œ์›Œ์ง‘๋‹ˆ๋‹ค.

  • ์ˆœ์„œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค๋กœ๋Š” ์ ‘๊ทผํ• ์ˆ˜ ์—†๊ณ , ํ‚ค๋กœ ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ‚ค๋กœ๋Š” immutableํ•œ ๊ฐ’์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, mutableํ•œ ๊ฐ์ฒด๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Set ์‚ฌ์šฉ์˜ˆ์‹œ

  • ์ˆœ์„œ๊ฐ€ ์—†๊ณ , ์ง‘ํ•ฉ์•ˆ์—์„œ๋Š” uniqueํ•œ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

    set์€ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ํŠน์ง• ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ ํ•„ํ„ฐ๋กœ ์ข…์ข… ์‚ฌ์šฉ๋œ๋‹ค

  • ์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ dictionary์™€ ๋น„์Šทํ•˜์ง€๋งŒ, key๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ’๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

  • set(์ง‘ํ•ฉ) ๋‚ด๋ถ€ ์›์†Œ๋Š” ๋‹ค์–‘ํ•œ ๊ฐ’์„ ํ•จ๊ป˜ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, mutableํ•œ ๊ฐ’์€ ๊ฐ€์งˆ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • ๋ฆฌ์ŠคํŠธ๋‚˜ ํŠœํ”Œ์€ ์ˆœ์„œ๊ฐ€ ์žˆ๊ธฐ(ordered) ๋•Œ๋ฌธ์— ์ธ๋ฑ์‹ฑ์„ ํ†ตํ•ด ์š”์†Ÿ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ์ง€๋งŒ, set ์ž๋ฃŒํ˜•์€ ์ˆœ์„œ๊ฐ€ ์—†๊ธฐ(unordered) ๋•Œ๋ฌธ์— ์ธ๋ฑ์‹ฑ์„ ํ†ตํ•ด ์š”์†Ÿ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์—†๋‹ค.

    • ๋งŒ์•ฝ set ์ž๋ฃŒํ˜•์— ์ €์žฅ๋œ ๊ฐ’์„ ์ธ๋ฑ์‹ฑ์œผ๋กœ ์ ‘๊ทผํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฆฌ์ŠคํŠธ๋‚˜ ํŠœํ”Œ๋กœ ๋ณ€ํ™˜ํ•œ ํ›„์— ํ•ด์•ผ ํ•œ๋‹ค.

19. for in ๋ฐ˜๋ณต๋ฌธ, Range, enumerate

1. for in ๋ฐ˜๋ณต๋ฌธ

  • ์—ฌํƒ€ ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ๋Š” ์ผ๋ฐ˜์ ์ธ for๋ฌธ, foreach๋ฌธ, for of๋ฌธ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ์‹์„ ํ•œ๊บผ๋ฒˆ์— ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

  • Python์—์„œ๋Š” for in๋ฌธ ํ•œ๊ฐ€์ง€ ๋ฐฉ์‹์˜ for ๋ฌธ๋งŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • REPL ์—์„œ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • for in ๋ฌธ ํ˜•์‹ ์ž…๋‹ˆ๋‹ค.

  • iterable์€ ์‚ฌ์ „์ ์˜๋ฏธ์™€ ๋˜‘๊ฐ™์ด ๋ฐ˜๋ณต๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.

  • iterable ๊ฐ์ฒด๋ฅผ ํŒ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์˜ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • collections.Iterable์— ์†ํ•œ instance์ธ์ง€ ํ™•์ธํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  • isinstance ํ•จ์ˆ˜๋Š” ์ฒซ๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋‘๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ ํด๋ž˜์Šค์˜ instance์ด๋ฉด True๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ์•ž์„œ ๋‹ค๋ฃฌ ํƒ€์ž… ์ค‘ list, dictionary, set, string, tuple, bytes๊ฐ€ iterableํ•œ ํƒ€์ž…์ž…๋‹ˆ๋‹ค.

  • range๋„ iterable ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŠธ ์•„๋ž˜์ชฝ์—์„œ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค.

  • for๋ฌธ์„ ๋™์ž‘์‹œ์ผœ๋ด…๋‹ˆ๋‹ค.

2. range

  • ์œ„์ชฝ for๋ฌธ์˜ range ๊ฒฐ๊ณผ ๊ฐ’์ด 0, 1, 2, 3, 4 ์ˆœ์„œ๋Œ€๋กœ ๊ฒฐ๊ณผ ๊ฐ’์ด ์ถœ๋ ฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • range๋Š” range(์‹œ์ž‘์ˆซ์ž, ์ข…๋ฃŒ์ˆซ์ž, step)์˜ ํ˜•ํƒœ๋กœ ๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • range์˜ ๊ฒฐ๊ณผ๋Š” ์‹œ์ž‘์ˆซ์ž๋ถ€ํ„ฐ ์ข…๋ฃŒ์ˆซ์ž ๋ฐ”๋กœ ์•ž ์ˆซ์ž๊นŒ์ง€ ์ปฌ๋ ‰์…˜์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  • ์‹œ์ž‘์ˆซ์ž์™€ step์€ ์ƒ๋žต๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • range๋Š” ๊ฐ’์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค๋ฅธ ์ˆœ์„œ ์žˆ๋Š” ์ปฌ๋ ‰์…˜์œผ๋กœ ๋ณ€ํ™˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

  • step์„ ์‚ฌ์šฉํ•ด๋ด…๋‹ˆ๋‹ค.

3. enumerate

  • ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ ์‹œ ๋ช‡ ๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ์ธ์ง€ ํ™•์ธ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ์™€ ์ปฌ๋ ‰์…˜์˜ ์›์†Œ๋ฅผ tupleํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • tupleํ˜•ํƒœ ๋ฐ˜ํ™˜์„ ์ด์šฉํ•˜์—ฌ ์•„๋ž˜์ฒ˜๋Ÿผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Was this helpful?