Khi được yêu cầu gán một bảng chữ cái cho mọi thành phần của danh sách số nguyên, phương thức 'ascii_lowercase' và khả năng hiểu danh sách được sử dụng
Thí dụ
Dưới đây là một minh chứng tương tự -
import string my_list = [11, 51, 32, 45, 21, 66, 12, 58, 90, 0] print["The list is : " ] print[my_list] print["The list after sorting is : " ] my_list.sort[] print[my_list] temp_val = {} my_counter = 0 for element in my_list: if element in temp_val: continue temp_val[element] = string.ascii_lowercase[my_counter] my_counter += 1 my_result = [temp_val.get[element] for element in my_list] print["The resultant list is : "] print[my_result]
đầu ra
The list is : [11, 51, 32, 45, 21, 66, 12, 58, 90, 0] The list after sorting is : [0, 11, 12, 21, 32, 45, 51, 58, 66, 90] The resultant list is : ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
Giải trình
Các gói cần thiết được nhập vào môi trường
Một danh sách các số nguyên được xác định và được hiển thị trên bàn điều khiển
Nó được sắp xếp bằng phương pháp 'sắp xếp' và được hiển thị lại trên bảng điều khiển
Một từ điển rỗng được định nghĩa
Một bộ đếm được khởi tạo thành 0
Nó được lặp đi lặp lại và toán tử 'tiếp tục' được sử dụng khi một điều kiện được thỏa mãn
Mặt khác, phương thức 'ascii_lowercase' được sử dụng và gán cho một chỉ mục cụ thể trong từ điển
Việc hiểu danh sách được sử dụng để lặp lại danh sách và sử dụng phương thức 'get'
Các phần tử từ đây được lưu trữ trong một danh sách và được gán cho một biến
Cập nhật ngày 13-Sep-2021 11. 52. 58
Sử dụng phương thức
The list is : [11, 51, 32, 45, 21, 66, 12, 58, 90, 0] The list after sorting is : [0, 11, 12, 21, 32, 45, 51, 58, 66, 90] The resultant list is : ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']0, chúng ta có thể chuyển đổi các chữ cái thành số trong Python. Phương thức
The list is : [11, 51, 32, 45, 21, 66, 12, 58, 90, 0] The list after sorting is : [0, 11, 12, 21, 32, 45, 51, 58, 66, 90] The resultant list is : ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']0 trả về một số nguyên đại diện cho ký tự Unicode
Trong hướng dẫn này, chúng ta sẽ xem xét việc chuyển đổi các chữ cái thành số trong Python với các ví dụ
ASCII [Mã tiêu chuẩn Mỹ để trao đổi thông tin] là một tiêu chuẩn mã hóa gán một giá trị số nguyên cho mọi ký tự trên bàn phím
Mỗi ký tự sẽ có giá trị số nguyên riêng và giá trị khác nhau đối với ký tự chữ hoa và chữ thường
Chuyển đổi chữ cái thành số trong Python
Chúng tôi sẽ sử dụng hai cách tiếp cận khác nhau để chuyển đổi chữ cái thành số trong bài viết này
Sử dụng Phương thức ord[]
The list is : [11, 51, 32, 45, 21, 66, 12, 58, 90, 0] The list after sorting is : [0, 11, 12, 21, 32, 45, 51, 58, 66, 90] The resultant list is : ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']2 là một phương thức tích hợp sẵn trong Python, lấy một ký tự đơn làm đầu vào và trả về một số nguyên biểu thị ký tự Unicode
Đoạn mã sau sử dụng phương thức
The list is : [11, 51, 32, 45, 21, 66, 12, 58, 90, 0] The list after sorting is : [0, 11, 12, 21, 32, 45, 51, 58, 66, 90] The resultant list is : ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']0 để chuyển đổi từng chữ cái thành số
text= "itsmycode"
num_list = []
# iterate each characters in string
# and convert to number using ord[]
for c in text:
num_list.append[ord[c] - 96]
# print the converted letters as numbers in list
print["After converting letters to numbers",num_list]
đầu ra
After converting letters to numbers [9, 20, 19, 13, 25, 3, 15, 4, 5]
The list is : [11, 51, 32, 45, 21, 66, 12, 58, 90, 0] The list after sorting is : [0, 11, 12, 21, 32, 45, 51, 58, 66, 90] The resultant list is : ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']0 không thể lấy nhiều hơn một ký tự làm đầu vào. Nếu bạn vượt qua nhiều ký tự cùng một lúc, bạn sẽ nhận được TypeError. ord[] mong đợi một ký tự, nhưng tìm thấy chuỗi có độ dài 9
text= "itsmycode"
num_list = []
print[ord[text]]
đầu ra
Traceback [most recent call last]:
File "c:\Personal\IJS\Code\main.py", line 4, in
print[ord[text]]
TypeError: ord[] expected a character, but string of length 9 found
Sử dụng hiểu danh sách
Tính năng hiểu danh sách cung cấp cú pháp ngắn gọn và súc tích hơn, đồng thời là một cách tinh tế để tạo danh sách dựa trên danh sách hiện có
Khả năng hiểu danh sách được coi là nhanh nhất khi xử lý danh sách khi so sánh với vòng lặp
After converting letters to numbers [9, 20, 19, 13, 25, 3, 15, 4, 5]
1Hãy để chúng tôi lấy ví dụ tương tự và sửa đổi mã của chúng tôi để sử dụng khả năng hiểu danh sách để chuyển đổi các chữ cái thành số trong Python
text = "itsmycode"
# elegant way using list comprehension
num_list = [ord[x] - 96 for x in text]
# print the converted letters as numbers in list
print["After converting letters to numbers", num_list]
đầu ra
________số 8Sự kết luận
Chúng ta có thể chuyển đổi các chữ cái thành số trong Python bằng phương thức
The list is : [11, 51, 32, 45, 21, 66, 12, 58, 90, 0] The list after sorting is : [0, 11, 12, 21, 32, 45, 51, 58, 66, 90] The resultant list is : ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']0. Phương thức ord[] lấy một ký tự đơn làm đầu vào và trả về một số nguyên đại diện cho ký tự Unicode
Chuỗi có thể được lặp qua vòng lặp for và sử dụng phương thức
The list is : [11, 51, 32, 45, 21, 66, 12, 58, 90, 0] The list after sorting is : [0, 11, 12, 21, 32, 45, 51, 58, 66, 90] The resultant list is : ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']0 để chuyển đổi từng chữ cái thành số. Cách thanh lịch và nhỏ gọn hơn sẽ là sử dụng khả năng hiểu danh sách thay vì vòng lặp
After converting letters to numbers [9, 20, 19, 13, 25, 3, 15, 4, 5]
1 để có hiệu suất tốt hơn