python 组合数据类型

对用户输入的英文字符串中出现的英文字母进行提取(不区分大小),并将提取的字母按升序排列输出。
例如:输入 Happy New Year 则输出:aehnprwy

import re
string = "Happy New Year"
letters =re.findall('[a-zA-Z]', string)
sorted(string)
print(letters)



报错内容(结果)未排序,只是输出分割后的字母

import re

string = "Happy New Year"
letters = list(set(re.findall('[a-zA-Z]', string.lower())))
letters.sort()
# 如果要输出的是一段字符串就加下面,如果可以输出list,则直接print(letters)
new_letter = ''.join(letters)
print(new_letter)

sorted应该传letters吧 你怎么还传的string


import re
string = "Happy New Year"
list = []
for i in re.findall('[a-zA-Z]', string):
    if i.lower() not in list:
        list.append(i.lower())
print("".join(sorted(list,reverse=False)))
  • 以下回答由chatgpt基于相关博客总结生成:

    我会解决该问题。可以使用Python中的set和sorted两个函数来实现对用户输入的英文字符串中出现的英文字母进行提取并按升序排列输出。具体步骤如下:

    1.获取用户的输入字符串。

    2.将字符串转换为set类型,使重复的字母只保留一个。

    3.将set类型转换为列表类型。

    4.使用sorted函数对列表进行排序。

    5.将列表转换为字符串类型,输出即可。

    代码如下:

    string = input("请输入一个英文字符串:")
    # 将字符串转换为set类型
    letter_set = set(string.lower())
    # 将set类型转换为列表类型
    letter_list = list(letter_set)
    # 使用sorted函数对列表进行排序
    sorted_list = sorted(letter_list)
    # 将列表转换为字符串类型
    output = ''.join(sorted_list)
    print(output)
    

    运行示例:

    输入:Happy New Year

    输出:aehnprwy