이 기사에서는 경쟁 프로그래밍에서 프로그램을 작성할 때나 회사에서 코드를 줄이고 실행을 최적화할 때 유용할 몇 가지 유용한 파이썬 트릭과 팁을 다룰 것입니다. .
두 숫자의 제자리 스와핑
x, y =50, 70print(x, y)#swappingx, y =y, xprint(x, y)
출력
50 7070 50
목록에서 단일 문자열 만들기
lst =['뭐', '아', '괜찮아', '아침']print(" ".join(lst))
출력
좋은 아침입니다
목록에서 중복 제거
# 목록에서 중복 제거#이 방법은 순서를 유지하지 않습니다.lst =[2, 4, 4,9, 13, 4, 2]print("원래 목록:", lst)new_lst =list(set(lst) ))print(new_lst)# 아래 메소드는 orderfrom 컬렉션을 유지합니다. import OrderedDictlst =[2, 4, 4,9, 13, 4, 2]print(list(OrderedDict.fromkeys(lst).keys()))사전>출력
원본 목록:[2, 4, 4, 9, 13, 4, 2][9, 2, 4, 13][2, 4, 9, 13]문자열 반전
#문자열 반전 ="Hello, World!"print(s[::-1])letters =("abcdefghijklmnopqrstuvwxyz")print(letters[::-1])출력
!dlroW,olleHZyxwvutsrqponmlkjihgfedcba목록 뒤집기
# 목록 역순 =[20, 40 , 60, 80]print(lst[::-1])출력
[80, 60, 40, 20]2차원 배열 전치
#2차원 배열의 전치, 즉 전치 후 행렬이 2 * 3이면 3* 2가 됩니다. matrix.matrix =[['a', 'b', 'c'], ['d' , 'e', 'f']]transMatrix =zip(*matrix)print(list(transMatrix))출력
[('a', 'd'), ('b', 'e'), ('c', 'f')]두 문자열이 아나그램인지 확인
#두 문자열이 컬렉션에서 아나그램인지 확인 import Counterdef is_anagram (str1, str2):return Counter(str1) ==Counter(str2)print(is_anagram('hello', 'ollhe'))#andprint(is_anagram(' 안녕하세요', '안녕하세요'))출력
TrueFalse파이썬에서 개체 검사
#pytonlst의 객체 검사 =[1, 3, 4, 7, 9]print(dir(lst))출력
['__add__', '__class__', '__contains__', '__delattr__', '__deitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__ ', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clearend ', '복사', '카운트', '확장', '인덱스', '삽입', '팝', '제거', '역방향', '정렬']목록 열거
#목록을 열거합니다. =[20, 10, 40, 50, 30, 40]for i, enumerate(lst)의 값:print(i, ':', 값)출력
0 :201 :102 :403 :504 :305 :40임의의 계승
#임포트 functoolsresult =(람다 s:functools.reduce(int. __mul__, range(1, s+1), 1))(5)print(result)출력
120관련된 두 시퀀스에서 사전 만들기
#두 개의 관련 시퀀스에서 사전 만들기x1 =('Name', 'EmpId', 'Sector')y1 =('Zack', 4005, 'Finance')print(dict (zip(x1, y1)))출력
{'이름':'잭', 'EmpId':4005, '섹터':'금융'}