My Python Cheatsheet๐Ÿ”Ž

์„œ์œ ์ง„ยท2022๋…„ 2์›” 19์ผ
0

์ฝ”ํ…Œ๋ฟŒ์…”

๋ชฉ๋ก ๋ณด๊ธฐ
1/9
post-thumbnail

My Python Cheatsheet๐Ÿ”Ž

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

[2022.02.20] ์ตœ์ดˆ ์ž‘์„ฑ
[2022.02.21] ๋‚ด์šฉ ์ถ”๊ฐ€
[2022.02.27] ๋‚ด์šฉ ์ถ”๊ฐ€
[2022.03.29] ๋‚ด์šฉ ์ถ”๊ฐ€

๐ŸŽˆa//b, a%b ํ•œ๋ฒˆ์— ์ถœ๋ ฅ

  a = 11
  b = 5

  print(*divmod(a,b)) # 2 1

* : ํŒจํ‚น ํ˜น์€ ์–ธํŒจํ‚น ๊ธฐํ˜ธ
์ธ์ž ์•ž์—์„œ ํŠœํ”Œ, ๋ฆฌ์ŠคํŠธ ๋“ฑ์„ ํ’€์–ด์ฃผ๋Š” ์—ญํ• (unpacking)์„ ํ•œ๋‹ค.

๐ŸŽˆn์ง„๋ฒ•์„ 10์ง„์ˆ˜๋กœ ๋ณ€๊ฒฝ, ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ณ€๊ฒฝ

  base = 2
  num = "1011" 
  print(int(num, base))  # 11

๊ณต์‹ ๋ฌธ์„œ : int( )
base์ง„๋ฒ•์˜ ์ˆซ์žnum์„ ์‹ญ์ง„์ˆ˜๋กœ ๋ฐ”๊ฟ”์„œ ์ถœ๋ ฅํ•ด์ค€๋‹ค.
์ด๋•Œ num์˜ ํ˜•์‹์€ string์ด๋‹ค. base๋Š” ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•˜๊ณ , ์ƒ๋žต์‹œ string์„ int๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
๋ณดํ†ต ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ฐ”๊ฟ€ ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๋ฐ˜๋Œ€(์ˆซ์ž->๋ฌธ์ž) ๋Š” str() ์„ ์‚ฌ์šฉํ•œ๋‹ค.

๐ŸŽˆ๋ฌธ์ž์—ด ๋ฐฐ์น˜ํ•˜๊ธฐ

	string1 = "hello"
    n = 10

    print(string1.ljust(n))  # hello     
    print(string1.center(n)) #   hello   
    print(string1.rjust(n))  #      hello

string1.ljust(n) : n์นธ๋งŒํผ์˜ ๊ณต๋ฐฑ์„ ๋‘๊ณ  string1 ์ขŒ์ธก์ •๋ ฌ
tring1.center(n) : n/2์นธ ์‚ฌ์ด์—์„œ string1 ์ค‘์•™์ •๋ ฌ
string1.rjust(n) : n์นธ๋งŒํผ์˜ ๊ณต๋ฐฑ์„ ๋‘๊ณ  string1 ์šฐ์ธก์ •๋ ฌ

๐ŸŽˆstring ์ƒ์ˆ˜ ํ™œ์šฉํ•˜๊ธฐ

	import string

    print(string.ascii_lowercase)  # abcdefghijklmnopqrstuvwxyz 
    print(string.ascii_uppercase) # ABCDEFGHIJKLMNOPQRSTUVWXYZ
    print(string.ascii_letters)  # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
    print(string.digits)  # 0123456789
    

๋ง ๊ทธ๋Œ€๋กœ ์ƒ์ˆ˜, ๊ณ ์ •๋ผ์žˆ๋Š” ๊ฐ’์ด๋‹ค. ํ•˜๋‚˜ํ•˜๋‚˜ ์ ์„ ํ•„์š” ์—†์ด ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ํŽธ๋ฆฌํ•˜๋‹ค.

๐ŸŽˆ๋ฆฌ์ŠคํŠธ ์ •๋ ฌํ•˜๊ธฐ

๊ธฐ๋ณธ ์ •๋ ฌํ•˜๊ธฐ

	testList = [3,5,7,4,8,5,8,10]
    
    print(testList)  # [3, 5, 7, 4, 8, 5, 8, 10]
    testList.sort() # ์›๋ณธ ์ง์ ‘ ๋ณ€๊ฒฝ
    print(sorted(testList))  # ์›๋ณธ ์œ ์ง€, ๋ณดํ†ต ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ๋กœ ํ• ๋‹นํ•ด์„œ ์‚ฌ์šฉ
    
    # ๊ฒฐ๊ณผ๋Š” [3, 4, 5, 5, 7, 8, 8, 10]๋กœ ๋™์ผ
    

๊ณต์‹๋ฌธ์„œ : โ“ sort( ) โ“ sorted( )
๋ณดํ†ต ์›๋ณธ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด์กดํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” sorted(listname)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๊ทธ๋ƒฅ ๋ฐ”๊ฟ€ ๋•Œ์—๋Š” listname.sort()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
๊ทผ๋ฐ, sortํ•˜๋ ค๋Š” ๋ฆฌ์ŠคํŠธ์˜ ์ž๋ฃŒํ˜•์ด ๋ฌธ์žํ˜• ์ผ๋• ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ??

๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๊ฐ€ ๋ฌธ์žํ˜•์ผ๋•Œ ์ •๋ ฌํ•˜๊ธฐ

	testList1 = ['1', '10', '2', '200', '22', '23', '3', '4']
    testList2 = ['1', '10', '2', '200', '22', '23', '3', '4']
    
    print(testList1)  # ['1', '10', '2', '200', '22', '23', '3', '4']
    print(testList2)  # ['1', '10', '2', '200', '22', '23', '3', '4']
    testList1.sort() # ๋ฌธ์žํ˜• ์ˆœ์ž์˜ ๋ฌธ์ž ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ
    testList2.sort(key = int) # ๋ฌธ์žํ˜• ์ˆซ์ž๋ฅผ ์ˆซ์ž๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ์ •๋ ฌ
    print()
    print(testList1)  # ['1', '10', '2', '200', '22', '23', '3', '4']
    print(testList2)  # ['1', '2', '3', '4', '10', '22', '23', '200']
    

๋ฌธ์žํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆซ์ž๋Š” ๊ทธ๋ƒฅ ์ •๋ ฌํ–ˆ์„ ๊ฒฝ์šฐ์—๋Š” testList1 ์ฒ˜๋Ÿผ ์ˆซ์ž๋ฅผ ๋ฌธ์ž์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜์—ฌ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•œ๋‹ค.
testList2๋Š” key=int๋ผ๋Š” ์ธ์ž๋ฅผ ํ†ตํ•ด์„œ, ํ•˜๋‚˜ํ•˜๋‚˜ int์ž๋ฃŒํ˜•์œผ๋กœ ๋ฐ”๊พธ์ง€ ์•Š๋”๋ผ๋„ ์ˆซ์ž์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜์—ฌ ์ •๋ ฌํ•œ๋‹ค. key ์ธ์ž๋Š” lambda๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. key=int ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ํ•˜๋‚˜ํ•˜๋‚˜ ๋ฐ”๊พธ๋Š” ๊ฒƒ์€ map()์„ ์ด์šฉํ•ด ๊ตฌํ˜„๊ฐ€๋Šฅํ•˜๋‹ค.

๋ฆฌ์ŠคํŠธ ๋’ค์ง‘๊ธฐ

	testList1 = [10,5,7,8,3]
    testList2 = [10,5,7,8,3]
    
    
    print(testList1)  # [10, 5, 7, 8, 3]
    print(testList2)  # [10, 5, 7, 8, 3]
    testList1.reverse() # ๋‹จ์ˆœ ๋’ค์ง‘๊ธฐ
    testList2.sort(reverse = True) # ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ(๋‚ด๋ฆผ์ฐจ์ˆœ)
    print()
    print(testList1)  # [3, 8, 7, 5, 10]
    print(testList2)  # [10, 8, 7, 5, 3]

listName.reverse()๋Š” ๋ง ๊ทธ๋Œ€๋กœ ๊ธฐ์กด ๋ฆฌ์ŠคํŠธ๋ฅผ ๋’ค์ง‘์–ด์„œ ๋ฐฐ์—ดํ•œ๋‹ค.
listName.sort(reverse = True)๋Š” ์ •๋ ฌ์„ ์—ญ์ˆœ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ํ•˜์ง€๋งŒ key=int๋ž‘ ๊ฐ™์ด ์“ฐ๋Š”๊ฑด ์•ˆ๋œ๋‹ค. ์™œ ๊ทธ๋Ÿฐ์ง€๋Š” ๋ชจ๋ฆ„

๐ŸŽˆmap() ํ™œ์šฉํ•˜๊ธฐ

๐Ÿงก ์ตœ์• ํ•จ์ˆ˜

	testList = ["10","5","7","8","3"]
    testList2 = [("i","love","you"),("you","love","me")]
    
    map_list = list(map(int,testList))
    print(map_list)  # [10, 5, 7, 8, 3]
    
    map_list2 = list(map(''.join,testList2))
    print(map_list2) #['iloveyou', 'youloveme']

๊ณต์‹๋ฌธ์„œ : โ“ map( )
list(map(func,data))ํ˜•์‹์œผ๋กœ ๋งŽ์ด ์“ด๋‹ค. data์—๋Š” ์ˆœํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์ธ list, tuple, dict๋“ฑ์ด ๋“ค์–ด๊ฐ„๋‹ค.
func์—๋Š” ๊ฐ ๊ฐ’์— ์ ์šฉ๋  ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์“ด๋‹ค. ()์“ฐ๋ฉด ์•ˆ๋œ๋‹ค
list๋ฅผ ์•ˆ ์”Œ์šฐ๋ฉด map ๊ฐ์ฒด๋ผ๋Š” ๊ฒƒ์œผ๋กœ ๋ฐ˜ํ™˜์ด ๋˜๋Š”๋ฐ, ์ด๊ฑฐ๋Š” ์–ด๋””์— ๋ญ ์“ธ๋ชจ๋„ ์—†๋Š” ๊ฐ์ฒด๋ผ ๊ผญ list(), tuple()๋“ฑ ๋‚ด์žฅํ•จ์ˆ˜์— ๋‹ด์•„์•ผ ํ•œ๋‹ค.

๐ŸŽˆ zip(), ๋‘ ๊ทธ๋ฃน์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋กœ ์—ฎ์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•

zip() ์‚ฌ์šฉํ•˜๊ธฐ

	a = [1,2,3]
    b = ['a','b','c']
    
    print(list(zip(a,b))) # [(1, 'a'), (2, 'b'), (3, 'c')]
    print(dict(zip(a,b))) # {1: 'a', 2: 'b', 3: 'c'}

๊ณต์‹๋ฌธ์„œ : โ“ zip( )
๊ทธ๋ƒฅ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ map()์ฒ˜๋Ÿผ zip๊ฐ์ฒด ํ˜•์‹์œผ๋กœ ๋ฐ˜ํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์— list(), dict()๋“ฑ์œผ๋กœ ๋ฌถ์–ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
ํŠนํžˆ ๋‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์ „ํ˜•์‹์œผ๋กœ ํ•ฉ์น  ๋•Œ for๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ•ด๊ฒฐ๊ฐ€๋Šฅํ•˜๋‹ค.
๋‘ ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด, ์งง์€ ๋ฆฌ์ŠคํŠธ ๊ธฐ์ค€์œผ๋กœ zip ํ›„ ๋‚จ์€ ๋ฆฌ์ŠคํŠธ๋Š” ๋ฒ„๋ฆฐ๋‹ค.

zip() ํ•ด์ฒดํ•˜๊ธฐ

	a = [1,2,3]
    b = ['a','b','c']

    zip_a_and_b = list(zip(a,b)) # [(1, 'a'), (2, 'b'), (3, 'c')]

    unzip_a, unzip_b = list(zip(*zip_a_and_b))
    print(unzip_a, unzip_b)  # (1, 2, 3) ('a', 'b', 'c')

์–ธํŒจํ‚น ๊ธฐํ˜ธ์ธ * ์„ ํ™œ์šฉํ•ด์„œ unzip์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ํ•˜๋‚˜์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ zipํ˜•์‹์œผ๋กœ ๋ฌถ๋Š” ๋ฐฉ๋ฒ• ์€ ๋ฌด์—‡์ผ๊นŒ???

๋ฆฌ์ŠคํŠธ ํ•œ ๊ฐœ๋กœ zip() ๊ตฌํ˜„ํ•˜๊ธฐ

    a = [1,2,3,4,5,6]

    for i, j in zip(a,a[1:]) :
        print(i, j)

๊ฒฐ๊ณผ

	1 2
    2 3
    3 4
    4 5
    5 6

i์™€ j์— ๊ฐ๊ฐ 1~5์™€ 2~6๊นŒ์ง€ ๊ฐ๊ฐ ํ• ๋‹น์ด ๊ฐ€๋Šฅํ•œ ๋ชจ์Šต์ด๋‹ค. ์•„์ง๊นŒ์ง€ ์จ ๋ณธ ์ ์€ ์—†์ง€๋งŒ..?..

๐ŸŽˆ ๋ฆฌ์ŠคํŠธ์˜ ์›์†Œ๊ฐ€ ๋ฌธ์ž์ผ๋•Œ, ๋ฌธ์ž์—ด๋กœ ์ด์–ด๋ถ™์ด๊ธฐ

    a = ['I','hate','paprika']

    a_join = ''.join(a)
    print(a_join) # Ihatepaprika

์ •๋ง์ •๋ง์ •๋ง ๋งŽ์ด ์“ด๋‹ค.
list์˜ ์›์†Œ๋ฅผ ํ•˜๋‚˜๋กœ ์ด์–ด๋ถ™์ธ๋‹ค. ์ด์ค‘ ''๋Š” sep๋ฌธ์ž์ด๊ณ  ์›์†Œ๊ฐ€ ๋ฌธ์ž ํ˜•์‹์ผ๋•Œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

๐ŸŽˆ ๋ฌธ์ž์—ด์„ ์‰ฝ๊ฒŒ ๋ฐ˜๋ณตํ•˜๊ธฐ

	a = [456,789]
    print('abc'*10) # abcabcabcabcabcabcabcabcabcabc
    print(a*5) # [456, 789, 456, 789, 456, 789, 456, 789, 456, 789]

* ๋ฌธ์ž๋Š” ๊ธฐ๋Šฅ์ด ์ฐธ ๋งŽ๋‹ค,, ์ด๊ฑฐ๋Š” ์œ„์— ํŒจํ‚น/์–ธํŒจํ‚น ๊ธฐ๋Šฅ๋ณด๋‹ค๋Š” ์—ฐ์‚ฐ์ž๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
์ผ๋ฐ˜ ๋ฌธ์ž์—ด์— ์‚ฌ์šฉํ•˜๋ฉด ๊ณฑํ•˜๊ธฐ nํšŒ ๊ธฐ๋Šฅ์œผ๋กœ, ๋ฌธ์ž์—ด์„ n๋ฒˆ ๋ฐ˜๋ณตํ•œ๋‹ค.
๋ฆฌ์ŠคํŠธ์— ๋„ฃ์œผ๋ฉด ๋‚ด๋ถ€ ๊ฐ’์ด ๋ณ€ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๋ฆฌ์ŠคํŠธ์˜ ์›์†Œ๊ฐ€ ๋ฐ˜๋ณต๋œ๋‹ค.

๐ŸŽˆ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ 1์ฐจ์› ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ”๊พธ๊ธฐ

  • ์‹œ๊ฐ„์€ numpy < itertools < list comprension < sum() ์ˆœ์œผ๋กœ ์งง๋‹ค. ์‹œ๊ฐ„์ด ์งง์„์ˆ˜๋ก ์ข‹์€ ์ฝ”๋“œ์ด๋‹ค.

sum() ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ

	mylist = [[1,2,3], [100,200,300], [10,20,30]]
    print(sum(mylist, [])) # [1, 2, 3, 100, 200, 300, 10, 20, 30]

๊ณต์‹ ๋ฌธ์„œ : โ“ sum( )
sum()์„ ํ†ตํ•ด ํ•œ๊ฒน์”ฉ ๋ฒ—๊ฒจ๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๊ฐ„๋‹จํ•˜์ง€๋งŒ ์†๋„๊ฐ€ ์ œ์ผ ๋Š๋ ค ์ถ”์ฒœํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

chain ์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

	import itertools
    
    mylist = [[1,2,3], [100,200,300], [10,20,30]]
    print(list(itertools.chain.from_iterable(mylist))) # [1, 2, 3, 100, 200, 300, 10, 20, 30]
    print(list(itertools.chain(*mylist))) # [1, 2, 3, 100, 200, 300, 10, 20, 30]
    

๊ณต์‹๋ฌธ์„œ : โ“ itertools โ“ chain()
itertools์—์„œ ์ œ๊ณตํ•˜๋Š” chain() ์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. chain()์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ธ์ž๋กœ ๋ฆฌ์ŠคํŠธ๋‚˜ ํŠœํ”Œ ๋“ฑ์„ ์—ฌ๋Ÿฌ๊ฐœ ์ฃผ๋ฉด ๊ทธ๊ฑธ ํ•˜๋‚˜๋กœ ์ด์–ด์ค€๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด, ์ธ์ž์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ *์„ ํ†ตํ•ด ์–ธํŒจํ‚น ํ•ด์„œ ์ง‘์–ด๋„ฃ๊ฑฐ๋‚˜, ์–ธํŒจํ‚น ํ•˜์ง€ ์•Š๊ณ  chain.from_iterable() ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.

reduce() ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• 1

	from functools import reduce
    
    mylist = [[1,2,3], [100,200,300], [10,20,30]]
    print(list(reduce(lambda x,y : x+y, mylist))) # [1, 2, 3, 100, 200, 300, 10, 20, 30]

๊ณต์‹๋ฌธ์„œ : โ“ functools โ“reduce( )
reduce() ์•ˆ์— ๋žŒ๋‹ค์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

reduce() ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• 2

	from functools import reduce
	import operator

	mylist = [[1,2,3], [100,200,300], [10,20,30]]
	print(list(reduce(operator.add, mylist))) # [1, 2, 3, 100, 200, 300, 10, 20, 30]

๊ณต์‹๋ฌธ์„œ : โ“ operator

์•„๊นŒ์™€ ๋™์ผํ•˜๊ฒŒ reduce()๋ฅผ ์ด์šฉํ•˜์ง€๋งŒ operator.add๋ผ๋Š” ๋ง์…ˆ ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ์— ํ•˜๋‚˜์”ฉ ์›์†Œ๋ฅผ ๋”ํ•ด๊ฐ€๋Š” ๋ฐฉ์‹์ด๋‹ค.

List Comprension ์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

	mylist = [[1,2,3], [100,200,300], [10,20,30]]
    print([element for arr in mylist for element in arr]) # [1, 2, 3, 100, 200, 300, 10, 20, 30]

๊ฝค ๊ฐ„๋‹จํ•˜๋‹ค. ํ•˜์ง€๋งŒ ๊ฐœ์ธ์ ์œผ๋กœ ํ•ญ์ƒ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋‚˜๋ฅผ ์œ„ํ•ด ์ •๋ฆฌํ•ด๋‘์ž..ใ…Žใ…Ž

์ด๊ฑธ ์ผ๋ฐ˜์ ์ธ for๋ฌธ์œผ๋กœ ํ’€์ดํ•ด๋ณด๋ฉด,

	mylist = [[1,2,3], [100,200,300], [10,20,30]]
    element = []
    mylist2 = []
    for arr in mylist:
        for element in arr:
            print("element : ", element)
            mylist2.append(element)
    
    print(mylist2) # [1, 2, 3, 100, 200, 300, 10, 20, 30]

๊ฒฐ๊ณผ :

	element :  1
    element :  2
    element :  3
    element :  100
    element :  200
    element :  300
    element :  10
    element :  20
    element :  30
    [1, 2, 3, 100, 200, 300, 10, 20, 30]

๋ฆฌ์ŠคํŠธ ์ปดํ”„๋ฆฌํ—จ์…˜์„ ํ†ตํ•ด ์ด์ค‘for๋ฌธ์„ ํ•œ์ค„๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ๋งค๋ ฅ์ ์ด๋‹ค.

numpy ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

	import numpy as np
    
    mylist = [[1,2,3], [100,200,300], [10,20,30]]
    print(np.array(mylist).flatten().tolist()) # [1, 2, 3, 100, 200, 300, 10, 20, 30]

๊ณต์‹ ๋ฌธ์„œ : โ“ numpy โ“ array( ) โ“ flatten( )

์ด ๋ฐฉ๋ฒ•์€ [ [A๋ฆฌ์ŠคํŠธ], [B๋ฆฌ์ŠคํŠธ] ] ์—์„œ A๋ฆฌ์ŠคํŠธ์™€ B๋ฆฌ์ŠคํŠธ์˜ ์›์†Œ์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์•„์•ผ ๊ฐ€๋Šฅํ•˜๋‹ค.

๐ŸŽˆ ์ˆœ์—ด๊ณผ ์กฐํ•ฉ

๊ณต์‹๋ฌธ์„œ : โ“ itertools

import itertools

list2 = ['1','2','3','4'] # ์›์†Œ๊ฐ€ str ์ด์–ด์•ผ ํ•จ
n = 3

# ๋ชจ๋“  ์›์†Œ๋กœ ์ˆœ์—ด ๋งŒ๋“ค๊ธฐ
print("์ˆœ์—ด",list(map(''.join, itertools.permutations(list2))))

# n๊ฐœ์˜ ์›์†Œ๋กœ ์ˆœ์—ด ๋งŒ๋“ค๊ธฐ
print("N-์ˆœ์—ด",list(map(''.join, itertools.permutations(list2, n))))

# ์กฐํ•ฉ 
print("์กฐํ•ฉ",list(map(''.join, itertools.combinations(list2, n)))) 

๊ฒฐ๊ณผ :

๐ŸŽˆ ๊ฐ€์žฅ ๋งŽ์ด ๋“ฑ์žฅํ•˜๋Š” ์•ŒํŒŒ๋ฒณ ๊ตฌํ•˜๊ธฐ

๊ณต์‹๋ฌธ์„œ : โ“ collections.Counter

import collections

list2 = 'aaaaaaaaaabcd'

counter = collections.Counter(list2)
print(counter.most_common()) # [('a', 10), ('b', 1), ('c', 1), ('d', 1)]

collections.Counter() ๋Š” ๋ฐ˜ํ™˜๊ฐ’์ด counter-dict ๊ฐ์ฒด์ด๋‹ค. ์ด๊ฑธ most_common์„ ์‚ฌ์šฉํ•˜๋ฉด , ์‚ฌ์šฉํ•œ ์•ŒํŒŒ๋ฒณ๋งŒ ๋ฆฌ์ŠคํŠธ(ํŠœํ”Œ) ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๐ŸŽˆ for...else ๋ฌธ

์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด for๋ฌธ์ด break์—†์ด ์ž˜ ๋งˆ๋ฌด๋ฆฌ ๋˜์—ˆ์„ ๋•Œ else๋ฌธ์„ ํ†ต๊ณผ์‹œํ‚จ๋‹ค.

break ๊ฐ€ ์žˆ์„ ๋•Œ

list2 = [1,2,3,4]

for i in list2:
    if i >= 4 :
        break
    print(i)

else :
    print("for๋ฌธ์ด ์ž˜ ๋งˆ๋ฌด๋ฆฌ ๋จ")

๊ฒฐ๊ณผ :

break ๊ฐ€ ์—†์„ ๋•Œ >> else๋ฌธ ํ†ต๊ณผ

list2 = [1,2,3,4]

for i in list2:
    #if i >= 4 : 
    #   break
    print(i)

else :
    print("for๋ฌธ์ด ์ž˜ ๋งˆ๋ฌด๋ฆฌ ๋จ")

๊ฒฐ๊ณผ :

๐ŸŽˆ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ณ€์ˆ˜ swap ํ•˜๊ธฐ

a = 'yu'
b = 'jin'

print(a,b) # yu jin

a,b = b,a

print(a,b) # jin yu

ํŒŒ์ด์ฌ์€ ์ •๋ง,, ๋งˆ๋ฒ•์˜ ์–ธ์–ด๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€