iterable ๊ฐ์ฒด: collections.Iterable์ ์ธ์คํด์ค๋ก, ๋ฐ๋ณต๊ฐ๋ฅํ ๊ฐ์ฒด๋ฅผ ๋งํ๋ค.
1. ๋ฌธ์์ด
2. ๋ฆฌ์คํธ
3. ๋์ ๋๋ฆฌ
4. ํํ
5. ์งํฉ
6. range, enumerate, zip
1. ์ํ์ค ์๋ฃํ (iterable)์ ๊ณตํต ํน์ง
1) ์ธ๋ฑ์ฑ: seq[index]์ ํด๋นํ๋ ๊ฐ ๋ฐํ (์งํฉ ์ฌ์ฉ ๋ถ๊ฐ)
2) ์ฌ๋ผ์ด์ฑ: seq[index1 : index2] seq ์๋ ํ์
์ ๊ทธ๋๋ก ๋ฐํํ๋ค. (์งํฉ, ๋์
๋๋ฆฌ ์ฌ์ฉ ๋ถ๊ฐ)
nums = [1,2,3,4,5,6,7,8,9]
nums[-3:]
# [7, 8, 9]
3) count ๋ฉ์๋: seq.count(d): ์ํ์ค ์๋ฃ์ ์๋ฃd์ ๊ฐ์๋ฅผ ๋ฐํํ๋ค.
4) for ๋ฐ๋ณต๋ฌธ: for item in seq
5) in ์ฐ์ฐ์: ๋ฉค๋ฒ ํ์ธ, item in seq
2. ๋ฌธ์์ด
- string method๋ ์ค์ ๊ฐ์ ๋ณ๊ฒฝํ์ง ์๊ณ , ๋ณ๊ฒฝ๋ ๊ฐ์ ๋ฐํํ๋ค.
1) str.split(c): ๋ฆฌ์คํธ ๋ฐํ
- ๋ฌธ์์ด์ c๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฆฌ์คํธ๋ฅผ ๋ฐํํ๋ค.
- ๊ดํธ๋ฅผ ๋น์ธ ์ ๊ณต๋ฐฑ์ด" " ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ค์ด๊ฐ๋ค.
"์๋
ํ์ธ์".split()
# ["์๋
ํ์ธ์"]
"์ ๋
ํ ์ธ์".split()
# ['์', '๋
', 'ํ', '์ธ์']
"์ ๋
ํ ์ธ์".split(" ")
# ['์', '๋
', 'ํ', '์ธ์']
"hello".split("l")
# ['he','','o']
2) str.join(list): ๋ฌธ์์ด ๋ฐํ
๋ฆฌ์คํธ๋ฅผ ์ํ ๋ฌธ์์ด ๋ฉ์๋์ด๋ค.
๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง ๋ฆฌ์คํธ์ ์์๋ค์ ๊ตฌ๋ถ์๋ฅผ ํตํด ํฉ์ณ ํ๋์ ๋ฌธ์์ด๋ก ๋ฐํ
li = ['์', '๋
', 'ํ', '์ธ', '์']
''.join(li)
# ์๋
ํ์ธ์
" ".join(['์', '๋
', 'ํ', '์ธ', '์'])
# ์ ๋
ํ ์ธ ์
a = ["1", "2", "3"]
"์๋
ํ์ธ์".join(a)
# 1์๋
ํ์ธ์2์๋
ํ์ธ์3
3) str.startswith('a'): ๋ถ๋ฆฌ์ธ ๋ฐํ
"supernman".startswith('s')
# True
4) str.lower(), str.upper(): ๋ฌธ์์ด ๋ฐํ
"heLLo".upper()
# HELLO
"heLLo".lower()
# hello
5) str.replace("): ๋ฌธ์์ด ๋ฐํ
"'go home!!! you,you,you!'".replace(",", "").replace("'", "").replace("!", "")
# go home youyouyou
6) str.replace("): ๋ฌธ์์ด ๋ฐํ
์ ๋ค๋ก ๊ณต๋ฐฑ๋ฌธ์, ์ค๋ฐ๊ฟ ๋ฌธ์๋ฅผ ์ง์ ๋ฐํํ๋ค.
" ์๋
์\n".strip()
# ์๋
์
3. ๋ฆฌ์คํธ
[50] +[50]
# [50,50]
nums = [1,2,3]
nums.insert(1,9)
# [1, 9, 2, 3]
# ํน์ ์ธ๋ฐ์ค์ ํ ๊ฐ์ ์๋ฃ๋ฅผ ๋ฃ์ ์ ์๋ค.
nums = [1,2,3,1,1]
nums.remove(1)
# [2, 3, 1, 1]
# ํน์ ์๋ฆฌ๋ฉํธ๋ฅผ ์ญ์ , ์ค๋ณต์ ๊ฐ์ฅ ์์ ์ธ๋ฑ์ค์ ์๋ฆฌ๋ฉํธ ํ๋ ์ญ์
nums = ['a', 'b', 'c']
nums.pop(2)
# 'c'
# i๋ฒ์งธ์ ์์๋ฅผ ์ ๊ฑฐ ํ ๊ทธ ์์๋ฅผ ๋ฐํ, ๊ดํธ ๋น์ธ ์ ๋ง์ง๋ง ์์
list.sort() : ์๋ณธ ๋ณํ
nums = [7,1,2]
nums.sort()
# [1,2,7]
# ์๋ณธ ๋ณํ, ์ค๋ฆ์ฐจ์, ์ฌ์ ์
sorted(list, key=ํจ์): ๋ฆฌ์คํธ ๋ฐํ
ํจ์์ ๋ฐํ๋ ๊ฐ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋๋ค.
nums = [5, -1, -4, 3, 100, 6]
sorted(nums, key=abs)
# [-1, 3, -4, 5, 6, 100]
4. ๋์ ๋๋ฆฌ
๋์ ๋๋ฆฌ๋ ํด์ฑ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ์๋ฃ ํ์์ด ์๋นํ ๋น ๋ฅด๋ค.
dictionary['key']: key๋ฅผ ์๋ฉด value๋ฅผ ์ ์ ์๋ค.
1) dictionary.items()์ ํตํด key์ value ๋ชจ๋ ์ ๊ทผ
dic = {'a': 123, 'b': 456, 'c': 789 }
for x in dic:
print(x)
# a
# b
# c
for x in dic.items():
print(x)
# ('a', 123)
# ('b', 456)
# ('c', 789)
for key, value in dic.items():
print(key, value)
# a 123
# b 456
# c 789
2) dictionary์ key๊ฐ ๋ ์ ์๋ ๊ฒ
- key ๊ฐ์ ํํ์ ์ฌ์ฉํ ์ ์์ง๋ง, ๋ฆฌ์คํธ๋ ์๋๋ค.
dic[cvs[1]] = value
- ๋ฆฌ์คํธ์ ์ธ๋ฑ์ฑ์ ํตํด ๋ฌธ์์ด๋ฑ์ key ๊ฐ์ผ๋ก ์ค ์ ์๋ค.
- ์ดํ์ ๋ฆฌ์คํธ์ ์์๊ฐ ๋ฐ๋์ด๋ ์ฒ์์ ๋ค์ด๊ฐ ๊ฐ์ผ๋ก ๊ณ ์ ๋๋ค.
3) dictionary.keys() dictionary.values()
dic = {'a':'1','b':'2','c':'3'}
dic.keys()
# dict_keys(['a', 'b', 'c'])
dic.values()
# dict_keys(['1', '2', '3'])
๋ฐํ ๊ฐ์ด <class 'dict_keys'>์ด๋ฏ๋ก list๋ก ๋ฐ์ธ๋ฉ ํด์ค์ ์ฌ์ฉํด์ผํ๋ค.
4) del
delํจ์๋ก ๋์ ๋๋ฆฌ์ ์์๋ฅผ ์ญ์ ํ ์ ์๋ค.
del person['age']
5. ํํ
del person['age']
hello =('์๋
', 'hello', 'bonjour')
bye = ('์๊ฐ', 'bye', 'mola')
hello[1]
# hello
hello + bye
# ('์๋
', 'hello', 'bonjour', '์๊ฐ', 'bye', 'mola')
hello * 2
# ('์๋
', 'hello', 'bonjour', '์๋
', 'hello', 'bonjour')
6. ์งํฉ
์ค๋ณต๊ณผ ์์๊ฐ ์๋ค.
nums = set([1,3,5,7])
nums = {1, 3, 5, 7}
# ์๋ณธ ๋ณํ ๋ฉ์๋๋ค
nums.add(9)
nums.update([3, 15, 4])
nums.remove(7) # ํด๋น ๊ฐ์ด ์์ผ๋ฉด ์๋ฌ ๋์ด์ค
nums.discard(13)
union = set1 | set2
intersection = set1 & set2
diff = set1 - set2
xor = set1 ^ set2
my_set = {num for num in my_set if num % 2 != 0}
xor: A-B U B-A
7. range, enumeratem zip
1) range(include, exclude, step)
range๋ list๋ก ๋ณํํด์ ์ฌ์ฉํ๋ค.
range(10, 20, 2)
# range(10, 20, 2)
list(range(10, 20, 2))
# [10, 12, 14, 16, 18]
2) enumerate(iterable)
๋ฐ๋ณต๋ฌธ ์ฌ์ฉ ์ ๋ช ๋ฒ์งธ ๋ฐ๋ณต๋ฌธ์ธ์ง ํ์ธํ ๋ ์ฌ์ฉ
์ธ๋ฑ์ค, ์์๋ฅผ tuple๋ก ๋ฐํ
t = [1, 5, 7]
for p in enumerate(t):
print(p)
# (0, 1)
# (1, 5)
# (2, 7)
3) zip(iterable1, iterable2)
๊ฐ iterable๊ฐ์ฒด๊ฐ ๋ด๊ณ ์๋ ์์๋ฅผ tuple์ ํํ๋ก ๋ฐํํ๋ zip๊ฐ์ฒด (iterator) ๋ฐํ
numbers = [1,2,3]
letters = ['a', 'b', 'c']
for x,y in zip(numbers,letters):
print(x,y)
# 1 a
# 2 b
# 3 c
'๐ Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ํ์ผ ๋ค๋ฃจ๊ธฐ (JSON, CSV) (0) | 2022.04.01 |
---|