如何在Python列表中只替换以某个字母开头的文本?

2024-09-28 05:19:09 发布

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

我的问题与excel formula to replace or stubstitute only text that starts with a certain letter相似,但我需要一个用Python编写的代码。我试图做嵌套if,但它只替换第一个字符而不是整个元素。在

元素也是字母数字的

List= ['F43.9', 'F53.2', 'H10.9', 'H60.9', 
       'S83.6', 'S01.88', 'J18.9', 'K35.9', 'S42.20', 'J06.9'....]

所以我想要的输出是:

List=['qwe','qwe','equal','equal','chronic','chronic','relatible','priority','chronic','reliable',…]

其中我需要替换所有以F开头的值,例如F43.9,F53.2,etc。使用"qwe"。对于不同的字母表也是如此。列表中有30000个元素,具有600个唯一值。在


Tags: ortotext元素onlythatequalexcel
3条回答

新编辑表示要替换整个单词。只需检查元素startswith()是否是所需的字符,然后将其替换为所需的字符串。这可能会有点健壮,所以你可能会更好地使用字典。在


for i in range(0, len(list)):
    if list[i].startswith('F'):
        list[i] = 'qwe'
    elif list[i].startswith('H'):
        list[i] = 'equals'
    elif list[i].startswith('S'):
        list[i] = 'chronic'

^{pr2}$

May可以使用list-comprehension

List = ['qwe'+i[1:] if i.startswith('F') else i for i in List]

通过使用列表理解,我们可以通过以下方式实现:

new_list = ['qwe' + List[i][1:] if List[i].startswith('F') else List[i] for i in range(len(List)) ]
print(new_list)
['qwe43.9','qwe53.2','H10.9','H60.9', 'S83.6','S01.88','J18.9','K35.9','S42.20',
'J06.9']

您可以将字母“F”替换为字符串中要替换开头字母的任何其他字母。在

相关问题 更多 >

    热门问题