Sắp xếp theo thứ tự alphabet trong python

Có cách nào dễ dàng để sắp xếp các chữ cái trong một chuỗi theo thứ tự abc trong Python không?

Vì vậy đối với:

a = 'ZENOVW'

Tôi muốn quay lại:

'ENOVWZ'

  • python
  • string

122 hữu ích 0 bình luận 248k xem chia sẻ

answer

217

Bạn có thể làm:

>>> a = 'ZENOVW'
>>> ''.join[sorted[a]]
'ENOVWZ'

217 hữu ích 1 bình luận chia sẻ

answer

78

>>> a = 'ZENOVW'
>>> b = sorted[a]
>>> print b
['E', 'N', 'O', 'V', 'W', 'Z']

sortedtrả về một danh sách, vì vậy bạn có thể tạo lại chuỗi đó bằng cách sử dụng join:

>>> c = ''.join[b]

nối các mục bcùng với một chuỗi trống ''ở giữa mỗi mục.

>>> print c
'ENOVWZ'

78 hữu ích 0 bình luận chia sẻ

answer

26

Giải pháp Sắp xếp [] có thể cung cấp cho bạn một số kết quả không mong muốn với các chuỗi khác.

Danh sách các giải pháp khác:

Sắp xếp các chữ cái và làm cho chúng khác biệt:

>>> s = "Bubble Bobble"
>>> ''.join[sorted[set[s.lower[]]]]
' belou'

Sắp xếp các chữ cái và làm cho chúng khác biệt trong khi giữ mũ:

>>> s = "Bubble Bobble"
>>> ''.join[sorted[set[s]]]
' Bbelou'

Sắp xếp các chữ cái và giữ các bản sao:

>>> s = "Bubble Bobble"
>>> ''.join[sorted[s]]
' BBbbbbeellou'

Nếu bạn muốn loại bỏ khoảng trắng trong kết quả, hãy thêm hàm dải [] trong bất kỳ trường hợp nào được đề cập:

>>> s = "Bubble Bobble"
>>> ''.join[sorted[set[s.lower[]]]].strip[]
'belou'

26 hữu ích 1 bình luận chia sẻ

answer

7

Bạn có thể sử dụng giảm

>>> a = 'ZENOVW'
>>> reduce[lambda x,y: x+y, sorted[a]]
'ENOVWZ'

7 hữu ích 0 bình luận chia sẻ

answer

1

mã có thể được sử dụng để sắp xếp chuỗi theo thứ tự bảng chữ cái mà không sử dụng bất kỳ chức năng sẵn có nào của python

k = input ["Nhập lại bất kỳ chuỗi nào"]

li = []
x = len[k]
for i in range [0,x]:
    li.append[k[i]]

print["List is : ",li]


for i in range[0,x]:
    for j in range[0,x]:
        if li[i]>>a = "Hello World!"
>>>"".join[sorted[a]]
' !!HWdellloor'

ĐÚNG : Để viết chuỗi đã sắp xếp mà không thay đổi trường hợp chữ. Sử dụng mã:

>>> a = "Hello World!"
>>> "".join[sorted[a,key=lambda x:x.lower[]]]
' !deHllloorW'

Nếu bạn muốn loại bỏ tất cả dấu chấm câu và số. Sử dụng mã:

>>> a = "Hello World!"
>>> "".join[filter[lambda x:x.isalpha[], sorted[a,key=lambda x:x.lower[]]]]
'deHllloorW'

1 hữu ích 0 bình luận chia sẻ

Đăng nhập để trả lời câu hỏi

Có thể bạn quan tâm

Chủ Đề