如何在Python中将列表每个元素与自身拼接为带连字符的新列表?
Python实现列表元素自拼接带连字符的方法
根据你的需求,分两种场景给出实现方案:
场景1:严格按元素本身自拼接
如果只是将列表内每个元素与自身用连字符直接拼接,用列表推导式就能快速完成,这是Python处理这类列表转换最简洁高效的方式:
original_list = ["$res", "$hp", "def"] new_list = [f"{item} - {item}" for item in original_list] print(new_list)
输出结果:
['$res - $res', '$hp - $hp', 'def - def']
场景2:给无$前缀的元素补全前缀后拼接
看你给出的目标示例里,原列表的"def"变成了"$def - $def",如果需要自动给不带$的元素补上前缀再拼接,可以调整逻辑:
original_list = ["$res", "$hp", "def"] # 用列表推导式简化写法 new_list = [f"{item} - {item}" if item.startswith('$') else f"${item} - ${item}" for item in original_list] print(new_list)
运行后就能得到你想要的结果:
['$res - $res', '$hp - $hp', '$def - $def']
和已有变量提取函数结合
把拼接逻辑封装成独立函数,就能直接和你已有的变量提取函数配合使用:
def format_vars(var_list): return [f"{item} - {item}" if item.startswith('$') else f"${item} - ${item}" for item in var_list] # 假设你已有提取变量的函数叫extract_vars # 提取变量后直接调用format_vars即可 extracted_vars = extract_vars(your_code_line) # your_code_line是你的变量设置代码行 final_list = format_vars(extracted_vars)
内容的提问来源于stack exchange,提问作者Felix
相关产品推荐
相关产品推荐

