Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เรียกใช้การเข้ารหัสความยาวใน Python


ในบทช่วยสอนนี้ เราจะมาเรียนรู้วิธีสร้างการเข้ารหัสแบบรัน-ยาวใน Python ให้สตริงส่งคืนสตริงใหม่ที่มี อักขระและความถี่

ตัวอย่างเช่น สตริง tutorialspoint จะถูกเข้ารหัสเป็น t3u1o2r1i2a1l1s1p1n1 . ลำดับคือทุก ถ่าน+ความถี่ . เข้าร่วมทั้งหมดและกลับมา ดูขั้นตอนด้านล่างเพื่อเขียนโปรแกรม

  • เขียนฟังก์ชันด้วยชื่อ run_length_encoding

  • เริ่มต้นพจนานุกรมด้วย OrderedDict เพื่อรับการนับตัวอักษรเริ่มต้นเป็น 0

  • วนซ้ำทุกอักขระในสตริงและเพิ่มจำนวนในพจนานุกรม

  • เข้าร่วมตัวอักษรและความถี่ทั้งหมด แล้วพิมพ์

  • เริ่มต้นสตริงและเรียกใช้ฟังก์ชัน

ตัวอย่าง

มาดูโค้ดของข้อความด้านบนกันเลยค่ะ

# importing the collections
import collections
# function
def run_length_encoding(string):
   # initialzing the count dict
   count_dict = collections.OrderedDict.fromkeys(string, 0)
   # iterating over the string
   for char in string:
      # incrementing the frequency
      count_dict[char] += 1
   # initializing the empty encoded string
   encoded_string = ""
   # joining all the chars and their frequencies
   for key, value in count_dict.items():
      # joining
      encoded_string += key + str(value)
      # printing the encoded string
print(encoded_string)
# initializing the strings
string = "tutorialspoint"
# invoking the function
run_length_encoding(string)
# another string
string = "aaaaaabbbbbccccccczzzzzz"
run_length_encoding(string)

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

t3u1o2r1i2a1l1s1p1n1
a6b5c7z6

บทสรุป

หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น