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

โปรแกรม Python เรียงคำในประโยคตามลำดับตัวอักษร

เพื่อเรียงคำในประโยคตามลำดับตัวอักษร ต้อง split ประโยคเป็นคำด้วยช่องว่าง กรณีนี้ split แค่ช่องว่าง ให้ punctuation อยู่ ไม่ได้ลบ สามารถใช้ replace หรือ regex ลบได้

หลัง split เรียงคำ lexicographically (แบบพจนานุกรม) ด้วย sort หรือ sorted ขึ้นอยู่กับต้องการ sort in-place หรือสร้างใหม่

In-place sorting: ใช้ sort() โดยตรง

ตัวอย่าง

sent = "mary has a very beautiful dog"
my_arr = sent.split(" ")
print(my_arr)
my_arr.sort()
print(my_arr)

ผลลัพธ์

['mary', 'has', 'a', 'very', 'beautiful', 'dog']
['a', 'beautiful', 'dog', 'has', 'mary', 'very']

อาร์เรย์เดิม my_arr ถูกเปลี่ยน ถ้าต้องการเก็บอาร์เรย์เดิมและสร้างใหม่ใช้ sorted()

sent = "mary has a very beautiful dog"
my_arr = sent.split(" ")
print(my_arr)
new_arr = sorted(my_arr)
print(new_arr)
# my_arr ไม่เปลี่ยน
print(my_arr)

ผลลัพธ์

['mary', 'has', 'a', 'very', 'beautiful', 'dog']
['a', 'beautiful', 'dog', 'has', 'mary', 'very']
['mary', 'has', 'a', 'very', 'beautiful', 'dog']