Computer >> Máy Tính >  >> Lập trình >> Python

Mẹo và thủ thuật Python cần thiết cho lập trình viên?


Trong bài viết này, chúng tôi sẽ đề cập đến một số mẹo và thủ thuật python hữu ích sẽ hữu ích khi bạn đang viết chương trình trong lập trình cạnh tranh hoặc cho công ty của bạn khi họ giảm mã và tối ưu hóa quá trình thực thi .

Hoán đổi tại chỗ của hai số

 x, y =50, 70print (x, y) #swappingx, y =y, xprint (x, y) 

Đầu ra

 50 7070 50 

Tạo một chuỗi đơn từ danh sách

 lst =['What', 'a', 'fine', 'morning'] print ("" .join (lst)) 

Đầu ra

 Thật là một buổi sáng tốt lành 

Xóa các bản sao khỏi danh sách

 # Xóa các bản sao khỏi danh sách # Phương pháp này sẽ không bảo toàn orderlst =[2, 4, 4, 9, 13, 4, 2] print ("Original list:", lst) new_lst =list (set (lst )) print (new_lst) # Phương thức dưới đây sẽ bảo toàn thứ tự từ các bộ sưu tập import OrderedDictlst =[2, 4, 4, 9, 13, 4, 2] print (list (OrderedDict.fromkeys (lst) .keys ()))  

Đầu ra

 Danh sách ban đầu:[2, 4, 4, 9, 13, 4, 2] [9, 2, 4, 13] [2, 4, 9, 13] 

Đảo ngược một chuỗi

 #Reverse a string ="Hello, World!" print (s [::- 1]) architects =("abcdefghijklmnopqrstuvwxyz") print (chữ cái [::- 1]) 

Đầu ra

! dlroW, olleHZyxwvutsrqponmlkjihgfedcba 

Đảo ngược danh sách

 # Đảo ngược listlst =[20, 40, 60, 80] print (lst [::- 1]) 

Đầu ra

 [80, 60, 40, 20] 

Chuyển đổi mảng hai chiều

 # Chuyển mục đích của một mảng 2d, điều đó có nghĩa là nếu ma trận là 2 * 3 sau khi chuyển vị, nó sẽ là ma trận 3 * 2.matrix =[['a', 'b', 'c'], ['d' , 'e', ​​'f']] transMatrix =zip (* matrix) print (list (transMatrix)) 

Đầu ra

 [('a', 'd'), ('b', 'e'), ('c', 'f')] 

Kiểm tra xem hai chuỗi có phải là từ đảo ngữ không

 # Kiểm tra xem hai chuỗi có phải là đảo chữ hay không từ bộ sưu tập import Counterdef is_anagram (str1, str2):return Counter (str1) ==Counter (str2) print (is_anagram ('hello', 'ollhe')) # andprint (is_anagram (' Xin chào ',' xin chào ')) 

Đầu ra

 TrueFalse 

Kiểm tra một đối tượng trong python

 #Inspect một đối tượng trong pytonlst =[1, 3, 4, 7, 9] print (dir (lst)) 

Đầu ra

 ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__geti__', '_tem_getatt _ribute' ',' __gt__ ',' __hash__ ',' __iadd__ ',' __imul__ ',' __init__ ',' __init_subclass__ ',' __iter__ ',' __le__ ',' __len__ ',' __lt__ ',' __mul__ ',' __ne__ ',' __ne__ ', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook', 'rõ ràng' append ',' sao chép ',' đếm ',' mở rộng ',' chỉ mục ',' chèn ',' bật ',' xóa ',' đảo ngược ',' sắp xếp '] 

Liệt kê danh sách

 #Enumerate a listlst =[20, 10, 40, 50, 30, 40] for i, value in enumerate (lst):print (i, ':', value) 

Đầu ra

 0:201:102:403:504:305:40 

Giai thừa của bất kỳ số nào

 #Factorial của bất kỳ numberimport functoolsresult =(lambda s:functools.reduce (int. __mul__, range (1, s + 1), 1)) (5) print (result) 

Đầu ra

 120 

Tạo từ điển từ hai chuỗi có liên quan

 # Tạo từ điển từ hai chuỗi có liên quanx1 =('Tên', 'EmpId', 'Sector') y1 =('Zack', 4005, 'Finance') print (dict (zip (x1, y1))) 

Đầu ra

 {'Name':'Zack', 'EmpId':4005, 'Sector':'Finance'}