Cách gán bảng chữ cái cho số trong python

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]
1

Hã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ố 8

Sự 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

Chủ Đề