如何颠倒字母顺序

2024-06-16 12:50:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把名字从z-a传下来。 我试着把名单按字母顺序倒序排序,然后循环整个名单,把每个名人的名字打印在自己的行上

def main():
   print('Celebrities  known by one name:')
   drake = ['Drake']
   BE = ['Beyonce']
   RI = ['Rihanna']
   BO = ['Bono']
   print('Drake','Beyonce','Rihanna', 'Bono')
   a = input('Enter another one name celebrity ')
   b = input('Enter another one name celebrity ')
   c = input('Enter another one name celebrity ')
   d = [a,b,c,drake,BE,RI,BO]
   f = reversed(d)
   print('Celebrities in Reverse Alpha Order')
   for d in f:
      print(d)
main()

到目前为止我得到的是这个

^{pr2}$

它看起来像

Celebrities  known by one name:
Drake Beyonce Rihanna Bono
Enter another one name celebrity Adele
Enter another one name celebrity Eminem
Enter another one name celebrity Pink
Celebrities in Reverse Alpha Order
Rihanna
Pink
Eminem
Drake
Bono
Beyonce
Adele

Tags: nameininputanother名字onedrakeprint
3条回答

您可以按照doc使用sorted..reverse

def main():
   print('Celebrities  known by one name:')
   drake = ['Drake']
   BE = ['Beyonce']
   RI = ['Rihanna']
   BO = ['Bono']

   a = input('Enter another one name celebrity ')
   b = input('Enter another one name celebrity ')
   c = input('Enter another one name celebrity ')
   d = [a,b,c,drake,BE,RI,BO]
   f = sorted(d,reverse=True)
   print('Celebrities in Reverse Alpha Order')
   for d in f:
      print(d)
main()

pythons内置的排序函数有一个reverse参数,请参见https://wiki.python.org/moin/HowTo/Sorting

Ascending and Descending

Both list.sort() and sorted() accept a reverse parameter with a boolean value. This is using to flag descending sorts. For example, to get the student data in reverse age order:

sorted(student_tuples, key=itemgetter(2), reverse=True) [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

sorted(student_objects, key=attrgetter('age'), reverse=True) [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

Python reverse alphabetical order中是代码示例

你可以试试这个:

l = ['Bono', 'Rihanna', 'Beyonce', 'Drake', 'eminem', 'adele', 'pink']
import string
final_list = sorted(l, key=lambda x:26 - string.ascii_lowercase.index(x[0].lower()))

输出:

^{pr2}$

相关问题 更多 >