如何遍历单词列表并用单词替换某些字母

时间:2019-05-01 02:13:15

标签: python loops

我正在尝试遍历几个单词的列表。如果存在某个字母,它将替换该字母并将一个单词添加到现有单词中。但这仅适用于列表中带有该字母的单词。

list1 = ['06h', '12d', '05h', '04s', '12s', '12c']
#list2 = list(x+'sample' for x in cards)

or 

for x in cards:
    if 's' in x:
        cards.append('ample')[0]

这将在所有内容中添加“样本”,我不知道如何使其仅在字母“ s”的单元格中添加“样本”。

list1 = [06h', '12d', '05h', '04s', '12s', '12c']
if "s" in list1:

应该显示

list2 = [06h', '12d', '05h', '04sample', '12sample', '12c']

4 个答案:

答案 0 :(得分:1)

使用理解方法检查字符串是否以s结尾:

>>> list1 = ['06h', '12d', '05h', '04s', '12s', '12c']
>>> [x + 'ample' if x.endswith('s') else x for x in list1]
['06h', '12d', '05h', '04sample', '12sample', '12c']

答案 1 :(得分:0)

您可以使用查找并可以替换为样本

list1 = ['06h', '12d', '05h', '04s', '12s', '12c']
l2=[]
for item in list1:
    if item.find('s'):
        l2.append(item.replace('s','samples'))
    else:
        l2.append(item)
print(l2)

['06h', '12d', '05h', '04samples', '12samples', '12c']    

答案 2 :(得分:0)

   list2 =[]
   for x in list1:
         if 's' in x:
            x = x.replace('s', 'sample')
         list2.add(x)

答案 3 :(得分:0)

map(lambda x: x.replace('s','sample'), list1)

也可以。 map将函数应用于列表的每个元素,并返回结果列表。

Python充满了用于处理列表的工具。