์ต๊ทผ์ NER ํ๊น ์์ ์ ํ๋ฉด์ tuple๊ณผ list๋ฅผ ๋ณํํ๋ ์์ ์ ๋ง์ด ๋ฐ๋ณตํ๊ฒ ๋์ด ํฌ์คํ ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค.
๋งค๋ฒ ๊ตฌ๊ธ๋ง์ ํตํด์ ์ฝ๋๋ฅผ ์ฐพ์๋ด์ ๋ณต๋ถํ๊ณ ์์ ํ๋ ๊ณผ์ ์กฐ์ฐจ ๊ท์ฐฎ์์ง๊ฒ ๋์ด์ ์ด๋ฒ ๊ธฐํ์ ์์ ์ ๋ฆฌ๋ฅผ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
1. Tuple๋ก ๊ตฌ์ฑ๋ List๋ฅผ ํ๋์ List๋ก ๋ณํ
ex. [('A',100), ('B',200), ('C',300), ('D',400), ('E',500)] => ['A', 100, 'B', 200, 'C', 300, 'D', 400, 'E', 500]
# Tuple๋ก ๋ list
lst = [('A',100), ('B',200), ('C',300), ('D',400), ('E',500)]
# ๋ชจ๋ element๋ฅผ ํ๋์ list๋ก ๋ณํ
## ๋ฐฉ๋ฒ 1: List comprehension
new_lst1 = [e for tupl in lst for e in tupl]
## ๋ฐฉ๋ฒ 2: for loop
new_lst2 = []
for x,y in lst:
new_lst2.extend([x,y])
print(new_lst1)
print(new_lst2)
['A', 100, 'B', 200, 'C', 300, 'D', 400, 'E', 500]
['A', 100, 'B', 200, 'C', 300, 'D', 400, 'E', 500]
for๋ฌธ์ ํ์ฉํด์ ํ ์๋ ์์ง๋ง ์ ๋ list comprehension ๋ฐฉ์์ ์ ํธํฉ๋๋ค. ์ฝ๋๋ฅผ ํ์ค๋ง์ผ๋ก ์งค ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.ํ์ง๋ง ๋ค๋ฅธ ์ฌ๋์ด ์ดํดํ ๋๋ ๊ฐ๋ ์ฑ์ด ์๋์ ์ผ๋ก ๋จ์ด์ง๊ธฐ ๋๋ฌธ์ ์ํฉ์ ๋ง๊ฒ ์ฌ์ฉํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.
2. List์ ์๋ element๋ฅผ ์์ฐจ์ ์ผ๋ก 2๊ฐ ์ฉ tuple๋ก ๊ตฌ์ฑํ์ฌ ๋ณํ
1๋ฒ์ ๋ฐ๋ ์ํฉ์ ๋๋ค.
ex. ['A', 100, 'B', 200, 'C', 300, 'D', 400, 'E', 500] => [('A',100), ('B',200), ('C',300), ('D',400), ('E',500)]
# list
lst = ['A', 100, 'B', 200, 'C', 300, 'D', 400, 'E', 500]
# ๋ฐฉ๋ฒ1: zip ์ฌ์ฉ
new_lst1 = list(zip(lst[0::2], lst[1::2]))
# ๋ฐฉ๋ฒ2: for๋ฌธ๊ณผ list comprehension ์ฌ์ฉ
new_lst2 = [(lst[i],lst[i+1]) for i in range(0,len(lst),2)]
print(new_lst1)
print(new_lst2)
[('A', 100), ('B', 200), ('C', 300), ('D', 400), ('E', 500)]
๋ง์ฐฌ๊ฐ์ง๋ก ์ ๋ zip๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ 1์ ์ ํธํฉ๋๋ค. (์ฝ๋๊ฐ ์งง์ ์๋ก ๋์ด ๋ ํผ๋กํ ๊ฒ ๊ฐ์์ ใ ใ ...)
3. ๋ ๊ฐ์ list์ ์๋ element ๊ฐ์ ์ง์ ์ง์ ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์
ex. ['A', 'B', 'C'] [1, 2] => [('A', 1), ('A', 2), ('B', 1), ('B', 2), ('C', 1), ('C', 2)]
lst1 = ['A','B','C']
lst2 = [1,2]
# python built-in library itertools ์ฌ์ฉ
from itertools import product
new_lst1 = list(product(lst1, lst2))
# list comprehension ์ฌ์ฉ
new_lst2 = [(x,y) for x in lst1 for y in lst2]
## ์ฃผ์: lst1, lst2 ์์๋ฅผ ๋ฐ๊พธ๋ฉด ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง
new_lst3 = [(x, y) for x in lst2 for y in lst1]
# ์ํ๋ ๊ฐ
print(new_lst1)
print(new_lst2)
# ํ๋ฆฐ ๊ฐ
print(new_lst3)
[('A', 1), ('A', 2), ('B', 1), ('B', 2), ('C', 1), ('C', 2)]
[('A', 1), ('A', 2), ('B', 1), ('B', 2), ('C', 1), ('C', 2)]
[(1, 'A'), (1, 'B'), (1, 'C'), (2, 'A'), (2, 'B'), (2, 'C')]
์์ฃผ ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ์ด๊ธด ํ์ง๋ง... ์ฌ๋์ ๋ง๊ฐ์ ๋๋ฌผ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ ์ฉ ์ด๋ ๊ฒ ์ ๋ฆฌ๋ฅผ ํ๋ ๊ฒ์ด ๊ธฐ์ต๋ ฅ์ ๋์์ด ๋๋ ๊ฒ ๊ฐ์ต๋๋ค ใ ใ
'๐ป ITยท๊ธฐ์ ยทํต๊ณ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Python์ผ๋ก ๊ฐ์ธ์ ๋ณด ๊ฐ๋ช ์ฒ๋ฆฌํ๊ธฐ (SHA-256) (0) | 2023.03.16 |
---|---|
[Tips] Python์ค๋ฝ๊ฒ ์ฝ๋ ์์ฑํ๊ธฐ (0) | 2023.03.12 |
[API] ChatGPT Python์ผ๋ก ์ฌ์ฉํด๋ณด๊ธฐ - Part.2 (0) | 2023.03.08 |
[NLP] lexrankr๋ก 3์ค ์์ฝํด๋ณด๊ธฐ (0) | 2023.02.15 |
[์นํฌ๋กค๋ง 3ํ - ไธ] requests-html์ ํ์ฉํ ๋ค์ด๋ฒ ๋ด์ค ๊ฐ์ ธ์ค๊ธฐ (0) | 2023.02.15 |
๋๊ธ