Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

프로그래머를 위한 필수 Python 팁과 요령?


이 기사에서는 경쟁 프로그래밍에서 프로그램을 작성할 때나 회사에서 코드를 줄이고 실행을 최적화할 때 유용할 몇 가지 유용한 파이썬 트릭과 팁을 다룰 것입니다. .

두 숫자의 제자리 스와핑

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, '섹터':'금융'}