Python中如何给列表内与指定变量值相等的字符串添加首尾星号
实现方案
方法1:使用列表推导式生成新列表
这种方法不会修改原列表,代码更简洁易读:
a = ['item1', 'item2', 'item3'] b = 'item2' # 遍历所有元素,匹配到b时前后添加* new_a = [f"*{item}*" if item == b else item for item in a]
执行后new_a的结果为:['item1', '*item2*', 'item3']
方法2:原地修改原列表
如果需要直接修改原列表不需要保留原数据,可以用enumerate遍历索引和值进行修改:
a = ['item1', 'item2', 'item3'] b = 'item2' for index, value in enumerate(a): if value == b: a[index] = f"*{value}*"
执行后原列表a会直接变为:['item1', '*item2*', 'item3']
以上两种方法都支持处理列表中存在多个和
b相等的元素的场景,所有匹配项都会被添加上*符号。
内容的提问来源于stack exchange,提问作者Nish7009
相关产品推荐
相关产品推荐

