20 Đoạn code Python bạn nên thuộc lòng

Ngày đăng: 30/11/2019   -    Cập nhật: 25/11/2022
Python là ngôn ngữ lập trình không có yêu cầu đầu vào. Bất kỳ ai, thậm chí học sinh tiểu học cũng có thể bắt đầu học Python.

Bởi vì tính Dễ đọcĐơn giản của nó.

Đây cũng là hai lý do lớn nhất dẫn tới sự phổ biến của ngôn ngữ lập trình Python.


Sự phổ biến của Python theo chỉ số PYPL Index



Python hiện là ngôn ngữ phổ biến nhất thế giới theo PYPL Index
 
Python hiện là ngôn ngữ phổ biến nhất thế giới theo PYPL Index
 
 
Có thể bạn chưa biết: PYPL Index là chỉ số thống kê dựa trên số lượng hướng dẫn về ngôn ngữ lập trình được tìm thấy trên Google. Càng nhiều hướng dẫn được tìm thấy, ngôn ngữ đó càng phổ biến.

Tham khảo: Báo cáo tình trạng Python


Và theo như Tâm pháp Python (The Zen of Python) đã nói:


  • Đẹp thì tốt hơn xấu.
  • Rõ ràng là tốt hơn so với ngầm định.


Đây là lý do tại sao nên nhớ một số đoạn code Python phổ biến đã được nhiều lập trình viên Python nhất trí để giúp cải thiện thiết kế code Python của bạn.


Những thứ này cũng sẽ giúp bạn tránh rắc rối khi lướt Stack Overflow mỗi khi bạn cần sửa lỗi.


20 đoạn code Python bạn nên học thuộc lòng

20 đoạn code Python bạn nên học thuộc lòng

Các đoạn code Python này cũng giúp ích nhiều trong quá trình học Python của bạn:

#1. Đảo ngược chuỗi trong Python



Đoạn mã sau đảo ngược một chuỗi bằng cách sử dụng thao tác cắt (slicing) trong Python.



# Đảo ngược chuỗi sử dụng slicing

my_string = "ABCDE"
reversed_string = my_string[::-1]

print(reversed_string)

# Kết quả
# EDCBA
 


#2: Viết Hoa ký tự đầu tiên của mỗi từ


Đoạn code sau có thể được sử dụng để chuyển đổi một chuỗi thành trường chuỗi mới được viết HOA ký tự đầu tiên của mỗi từ.

Điều này được thực hiện bằng cách sử dụng phương thức title() của String class.




my_string = "đây là một chuỗi"

# Sử dụng hàm title() của lớp string
new_string = my_string.title()

print(new_string)

# kết quả
# Đây Là Một Chuỗi
 


#3. Tìm các phần tử duy nhất trong một chuỗi



Đoạn code sau có thể được sử dụng để tìm tất cả các phần tử duy nhất trong một chuỗi.

Chúng ta sử dụng tính chất của kiểu dữ liệu set: Tất cả các phần tử trong set là duy nhất.



my_string = "aavvccccddddeee"

# Chuyển chuỗi thành một set
temp_set = set(my_string)

# Chuyển set thành một chuỗi sử dụng join
new_string = ''.join(temp_set)

print(new_string)

# Kết quả
# acdve

# Vì set không có thứ tự
# nên thứ tự chuỗi mới nhận được là ngẫu nhiên
 


#4. In một Chuỗi hoặc một List n lần

Bạn có thể sử dụng phép nhân (*) với chuỗi hoặc List. Điều này cho phép chúng ta nhân chúng bao nhiêu lần tùy thích.



n = 3 # Số lần lặp lại

my_string = "abcd"
my_list = [1,2,3]

print(my_string*n)
# abcdabcdabcd

print(my_list*n)
# [1,2,3,1,2,3,1,2,3]
 


Một trường hợp sử dụng thú vị của điều này có thể là để xác định một list với các giá trị không đổi - hãy thử xem:



n = 4
my_list = [0]*n # n Độ dài của list
# [0, 0, 0, 0]
 


5. List comprehension


List comprehension cung cấp cho chúng ta một cách đơn giản, thanh lịch để tạo list dựa trên các list khác.

Đoạn code sau tạo một list mới bằng cách nhân từng phần tử của list cũ với 2.




# Nhân mỗi phần tử của list với 2

original_list = [1,2,3,4]

new_list = [2*x for x in original_list]

print(new_list)
# [2,4,6,8]
 

#6. Hoán đổi giá trị giữa hai biến trong Python


Python làm cho việc hoán đổi giá trị giữa 2 biến khá đơn giản mà không cần sử dụng một biến trung gian khác.



a = 1
b = 2

ab = ba

print(a# 2
print(b# 1
 


#7. Tách một chuỗi thành một list



Chúng ta có thể tách một chuỗi thành một list chứa các chuỗi con bằng phương thức .split().

Bạn cũng có thể truyền một đối số (dấu phân cách) để hướng dẫn tách chuỗi theo chỉ định của bạn.




string_1 = "Tên tôi là NIIT Hà Nội"
string_2 = "chuỗi 1/ chuỗi 2"

# Tách chuỗi mặc định sẽ tách từ khoảng trắng ' '
print(string_1.split())
# ['Tên', 'tôi', 'là', 'NIIT', 'Hà', 'Nội']

# Tách chuỗi từ ký tự '/'
print(string_2.split('/'))
# ['chuỗi 1', ' chuỗi 2']
 


#8. Kết hợp một danh sách các chuỗi thành một chuỗi



Ngược lại ở ví dụ trên, chúng ta có danh sách các chuỗi. Bây giờ ghép chúng lại thành một chuỗi duy nhất.


Chúng ta sẽ sử dụng phương thức join().


Trong trường hợp này, chúng ta truyền đối số (dấu phân tách) để hướng dẫn ghép chuỗi. (Mình sẽ sử dụng dấu phảy ,)




list_of_strings = ['Tên''tôi''là''NIIT''Hà''Nội']

# Sử dụng join và phân tách bằng dấu phảy
print(','.join(list_of_strings))

# Output
# Tên,tôi,là,NIIT,Hà,Nội
 


#9. Kiểm tra một chuỗi có phải chuỗi đối xứng



Vì chúng ta đã biết cách đảo ngược chuỗi nên việc kiểm tra một chuỗi có phải chuỗi đối xứng hay không sẽ rất đơn giản.



my_string = "abcba"

if my_string == my_string[::-1]:
    print("Chuỗi đối xứng")
else:
    print("Chuỗi không đối xứng")

# Kết quả
# Chuỗi đối xứng
 


#10. Tình số lần xuất hiện của các phần tử trong một List


Có nhiều cách để làm điều này, nhưng mình thích sử dụng Counter của Python.

Bộ đếm Python theo dõi tần suất của từng phần tử trong container.

Counter() trả về một dictionary với các phần tử là key và số lần xuất hiện là value.


Chúng tôi cũng sử dụng hàm most_common() để lấy phần tử most_frequent (xuất hiện nhiều nhất) trong List.




# Tìm số lần xuất hiện của mỗi phần từ trong List

# import Counter
from collections import Counter

my_list = ['a','a','b','b','b','c','d','d','d','d','d']
count = Counter(my_list# Xác định đối tượng counter

print(count# In thông tin tất cả
# Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1})

print(count['b']) # Số lần xuất hiện của phần tử cụ thể
# 3

print(count.most_common(1)) # Phần tử xuất hiện nhiều nhất
# [('d', 5)]
 


#11. Tìm xem hai chuỗi có đảo chữ không

Một ứng dụng thú vị của Counter là tìm chuỗi đảo chữ.

Đảo chữ là một từ hoặc cụm từ được hình thành bằng cách sắp xếp lại các chữ cái của một từ hoặc cụm từ khác nhau.

Nếu các đối tượng Counter của hai chuỗi bằng nhau, thì chúng là đảo chữ cái.




# import Counter
from collections import Counter

str_1str_2str_3 = "acbde""abced""abcda"
cnt_1cnt_2cnt_3  = Counter(str_1), Counter(str_2), Counter(str_3)

if cnt_1 == cnt_2:
    print('1 và 2 Đảo chữ')
if cnt_1 == cnt_3:
    print('1 và 3 Đảo chữ')
 

#12. Sử dụng Khối try-except-else


Xử lý lỗi trong Python có thể được thực hiện dễ dàng bằng cách sử dụng khối try / except.

Thêm một câu lệnh else vào khối này rất hữu ích. Nó sẽ chạy khi không có ngoại lệ xảy ra trong khối try.

Nếu bạn cần chạy một cái gì đó không phân biệt ngoại lệ, hãy sử dụng finaly.




ab = 1,0

try:
    print(a/b)
    # Ngoại lệ xảy ra khi b == 0
except ZeroDivisionError:
    print("Chia cho số 0")
else:
    print("Không có ngoại lệ xảy ra")
finally:
    print("Luôn luôn chạy lệnh này!")
 

#13. Sử dụng liệt kê (Enumerate) để nhận các cặp index / value


Kịch bản sau đây sử dụng phép liệt kê (enumerate) để lặp qua các giá trị trong list cùng với các chỉ mục (index) của chúng.



my_list = ['a''b''c''d''e']

for indexvalue in enumerate(my_list):
    print('{0}: {1}'.format(indexvalue))

# 0: a
# 1: b
# 2: c
# 3: d
# 4: e
 

#14: Kiểm tra mức sử dụng bộ nhớ của một đối tượng

Đoạn code sau đây có thể được sử dụng để kiểm tra mức sử dụng bộ nhớ của một đối tượng.



import sys

num = 21

print(sys.getsizeof(num))

# Kết quả trong Python 2 là: 24
# Kết quả trong Python 3 là: 28
 

#15. Hợp nhất hai Dictionaries

Trong khi ở Python 2, chúng ta đã sử dụng phương thức update() để hợp nhất hai Dictionaries.

Nhưng Python 3.5 làm cho quá trình này đơn giản hơn nhiều.

Trong đoạn code được đưa ra dưới đây, hai Dictionaries được hợp nhất.

Lưu ý: Các value của Dictionaries thứ hai sẽ được sử dụng nếu key bị trùng với key trong Dictionaries thứ nhất.




dict_1 = {'apple'9'banana'6}
dict_2 = {'banana'4'orange'8}

combined_dict = {**dict_1**dict_2}

print(combined_dict)
# Kết quả
# {'apple': 9, 'banana': 4, 'orange': 8}
 


Nếu bạn muốn giữ các giá trị của chúng, bạn có thể làm như sau:



dict1 = {'apple'9'banana'6}
dict2 = {'banana'4'orange'8}

def mergeDict(dict1dict2):
    """Hợp nhất dictionaries và giữ giá trị của key phổ biến trong list"""
    dict3 = {**dict1**dict2}
    for keyvalue in dict3.items():
        if key in dict1 and key in dict2:
            dict3[key] = [value , dict1[key]]

    return dict3

# Hợp nhất dictionaries và thêm giá trị của key phổ biến trong list
dict3 = mergeDict(dict1dict2)

print('Dictionary 3 :')
print(dict3)
 

#16. Tính thời gian thực hiện để thực thi một đoạn code trong Python


Đoạn code sau sử dụng thư viện time để dễ dàng giúp chúng ta tính thời gian thực để thực thi một đoạn code trong Python.



# import thư viện time
import time

# Kiểm tra thời gian bắt đầu
start_time = time.time()

# Code cần kiểm tra
ab = 12
c = a + b

# Kiểm tra thời gian kết thúc
end_time = time.time()

# Tính thời gian chênh lệch
time_taken_in_micro = (end_time - start_time)*(10**6)

# In kết quả
print (time_taken_in_micro)
 


#17. Trải phẳng list trong list


Đôi khi bạn không chắc chắn về mức độ lồng trong list của mình và bạn chỉ muốn trải phẳng tất cả các phần tử trong đó thành một list duy nhất.

Đây là cách bạn có thể thực hiện:




from iteration_utilities import deepflatten

# Nếu bạn chỉ có một lồng 1 cấp, sử dụng cái này
def flatten(l):
  return [item for sublist in l for item in sublist]

l = [[1,2,3],[3]]
print(flatten(l))
# [1, 2, 3, 3]

# Nếu bạn không biết list lồng sâu thế nào
l = [[1,2,3],[4,[5],[6,7]],[8,[9,[10]]]]

print(list(deepflatten(ldepth=3)))
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 


Bạn có thể tham khảo deepflatten trong module iteration-utilities tại đây.


Nhớ trước khi sử dụng thì cài đặt module iteration-utilities đã nhé.



#18. Lấy mẫu từ một List



Đoạn mã sau tạo ra n số mẫu ngẫu nhiên từ một list nhất định bằng thư viện random.



# import thư viện
import random

my_list = ['a''b''c''d''e']
num_samples = 2

samples = random.sample(my_list,num_samples)
print(samples)

# Kết quả nhận được là ngẫu nhiên:
# [ 'a', 'e']
 


Bạn cũng có thể sử dụng thư viện secrets để tạo các mẫu ngẫu nhiên để mã hóa.

Đoạn code sau sẽ chỉ hoạt động trên Python 3.




# imports secure module.
import secrets

# Tạo một đối tượng secure ngẫu nghiên                   
secure_random = secrets.SystemRandom()    

my_list = ['a','b','c','d','e']
num_samples = 2

samples = secure_random.sample(my_listnum_samples)

print(samples)

# Kết quả nhận được là ngẫu nhiên, ví dụ:
# ['e', 'd']
 

#19. Chuyển đổi một số thành danh sách các chữ số trong Python


Đoạn code sau sẽ chuyển đổi một số nguyên thành một danh sách các chữ số.



num = 123456

# Sử dụng map
list_of_digits = list(map(intstr(num)))

print(list_of_digits)
# [1, 2, 3, 4, 5, 6]

# Sử dụng kỹ thuật list comprehension
list_of_digits = [int(xfor x in str(num)]

print(list_of_digits)
# [1, 2, 3, 4, 5, 6]
 

#20. Kiểm tra tính duy nhất 

Hàm trong ví dụ sau sẽ kiểm tra xem tất cả các phần tử trong list có phải là duy nhất hay không.

Ở đây chúng ta sẽ tận dụng tính chất của set.




def unique(l):
    if len(l) == len(set(l)):
        print("Tất cả phần tử là duy nhất")
    else:
        print("List có phần tử trùng lặp")

unique([1,2,3,4])
# Tất cả phần tử là duy nhất

unique([1,1,2,3])
# List có phần tử trùng lặp
 

Tổng kết



Đây là một số Đoạn code Python ngắn mình thấy cực kỳ hữu ích trong công việc hàng ngày của mình.


Nếu bạn chưa hiểu lắm, KHÓA HỌC PYTHON này sẽ dạy bạn đầy đủ và chi tiết nhất để bạn hoàn toàn làm chủ Ngôn ngữ Python.

Cảm ơn bạn đã đọc bài viết này. Hi vọng nó có ích với bạn.


---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0383.180086
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #icthanoi #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #python #java #php
Bình luận Facebook
Khóa học liên quan đến bài viết

KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS

56 giờ
Học Lập trình Front end hiện đại với ReactJS. Học làm chủ HTML, CSS, JS và thư viện JavaScript phổ biến nhất hiện nay. Sẵn sàng đi thực tập / đi làm ngay sau khóa học.

KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG

50 giờ
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!