以下是一个示例代码,演示如何保持顺序替换列中的精确数字:
def replace_exact_numbers(lst, replace_dict):
result = []
for item in lst:
if isinstance(item, (int, float)):
if item in replace_dict:
result.append(replace_dict[item])
else:
result.append(item)
else:
result.append(item)
return result
# 示例用法
lst = [1, 2, 3.0, "4", 5.0, 6]
replace_dict = {1: "one", 3.0: "three", 5.0: "five"}
result = replace_exact_numbers(lst, replace_dict)
print(result)
在这个示例中,replace_exact_numbers
函数接受两个参数:一个包含数字和字符串的列表lst
,以及一个字典replace_dict
,其中键是要替换的数字,值是替换后的字符串。
函数首先创建一个空列表result
,然后遍历输入列表lst
中的每一个元素。如果元素是整数或浮点数,且存在于replace_dict
中,那么将其替换为对应的值,否则将其保留原样。最后,函数返回替换后的列表result
。
在示例用法中,我们创建了一个包含数字和字符串的列表lst
,以及一个将数字替换为字符串的字典replace_dict
。然后我们调用replace_exact_numbers
函数来替换数字,并打印结果。输出结果为['one', 2, 'three', '4', 'five', 6]
。
上一篇:保持顺序的同时传播数据