在Python中,如何将字母表从包含字母数字和特殊字符的元素的列表转换为大写字母?

2024-10-02 04:20:26 发布

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

我有一个包含字母、数字和特殊字符的元素的列表。我只想将字母表转换为大写字母,如下所示:

List=["A34_rtXf $ t", "Artyx&-T7", 567, 543,"Aewr-075rJ"]

预期产出:

List=["A34_RTXF $ T", "ARTYX&-T7", 567, 543,"AEWR-075RJ"]

有没有关于如何实现这一点的提示


Tags: 元素列表字母数字大写字母字母表listt7
3条回答

您可以定义一个lambda函数来匹配所需的内容—只使用大写字符串元素—然后使用map将其应用于列表

>>> List=["A34_rtXf $ t", "Artyx&-T7", 567, 543,"Aewr-075rJ"]
>>> f = lambda e: e.upper() if isinstance(e, str) else e
>>> list(map(f, List))
['A34_RTXF $ T', 'ARTYX&-T7', 567, 543, 'AEWR-075RJ']

您可以通过listloop,如果项目是type: str,则使用str.upper()来大写项目的字母

例如,一个线性代码为:

[i.upper() if isinstance(i,str) else i for i in List]

输出:

['A34_RTXF $ T', 'ARTYX&-T7', 567, 543, 'AEWR-075RJ']

船上代码解释如下:

l=[]
for i in List:
    if isinstance(i, str):
        l.append(i.upper())
    else:
        l.append(i)

输出:

['A34_RTXF $ T', 'ARTYX&-T7', 567, 543, 'AEWR-075RJ']
words = ["A34_rtXf $ t", "Artyx&-T7", 567, 543,"Aewr-075rJ"]
new_words = list()

for word in words:
    if type(word) is str:
        new_word = ""
        for char in word:
            if type(char) is str:
                new_char = char.upper()
                new_word += new_char
            else:
                new_word += char
        new_words.append(new_word)
    else:
        new_words.append(word)
    
print(new_words)

输出:

['A34_RTXF $ T', 'ARTYX&-T7', 567, 543, 'AEWR-075RJ']

相关问题 更多 >

    热门问题