[文法]私がよく忘れているPython文法


コードするときはよく(?)よく使う(?)忘れた文法があります。


でも毎回見つからない.
全部片付けたら自分で見ます~

1.基本

  • a ** b >>> a^b
  • a//b >>> 몫을 정수로 구하고 싶을 때
  • a, b = b, a >>> SWAP
  • ''.join(list) >>> 리스트를 문자열로
  • Ramda式
  • 2.並べ替え

    arr = [1, 10, 5]
    arr.sort()
    #[1, 5, 10]
    
    arr.sort(reverse=True)
    #[10, 5, 1]
    
    arr2 = [[1,2], [1,2,3], [1]]
    arr2.sort(key=len)
    #[[1], [1,2], [1,2,3]]

    3、繰り返し文

    A = [1, 2, 3]
    B = [4, 5, 6]
    for a, b in zip(A, B):
            print(a, b)
            # 1 4
            # 2 5
            # 3 6
    
    for p in enumerate(A):
    	print(p)
        # (0, 1)
        # (1 ,2)
        # ...
    
    for i, v in enumerate(A):
    	print(i, v)
        # (0, 1)
        # (1 ,2)
        # ...

    4.並べ替えと組み合わせ

  • シーケンス
  • from itertools import permutations
    
    permutations([1,2,3,4], 2)
    # [(1,2), (1,3), (1,4), (2,1), (2,3), (2,4), (3,1), (3,2), (3,4), (4,1), (4,2), (4,3)]
  • 組合せ
  • from itertools import combinations
    
    combinations([1,2,3,4], 2)
    # [(1,2), (1,3), (1,4), (2,3), (2,4), (3,4)]
    2つ以上のリストから組合せ
  • を得る
    from itertools import product
    
    items = [['a', 'b', 'c,'], ['1', '2', '3', '4'], ['!', '@', '#']]
    list(product(*items))
    # [('a', '1', '!'), ('a', '1', '@'), ('a', '1', '#'), ('a', '2', '!'), ('a', '2', '@'), ('a', '2', '#'), ('a', '3', '!'), ('a', '3', '@'), ('a', '3', '#'), ('a', '4', '!'), ('a', '4', '@'), ('a', '4', '#'), ('b', '1', '!'), ('b', '1', '@'), ('b', '1', '#'), ('b', '2', '!'), ('b', '2', '@'), ('b', '2', '#'), ('b', '3', '!'), ('b', '3', '@'), ('b', '3', '#'), ('b', '4', '!'), ('b', '4', '@'), ('b', '4', '#'), ('c,', '1', '!'), ('c,', '1', '@'), ('c,', '1', '#'), ('c,', '2', '!'), ('c,', '2', '@'), ('c,', '2', '#'), ('c,', '3', '!'), ('c,', '3', '@'), ('c,', '3', '#'), ('c,', '4', '!'), ('c,', '4', '@'), ('c,', '4', '#')]

    5.専制

    # 딕셔너리 선언 
    dic = {}
    dic['a'] = 1
    //
    dic = {'a' : 1}
    
    # 삭제
    del dic['a']
    
    # key와 value에 각각 접근
    for key, value in dic.items():
    	print(key, value)
    
    dic.keys(), dic.values()
    
    # 정렬
    sorted(dic.items(), key=lambda x: x[1])

    6. ASCII

    ord('A')