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
TrueFalseKiể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:40Giai 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
120Tạ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'}