Skip to main content
 首页 » 编程设计

python之如何根据条件替换列表中的多个元素

2025年05月04日14duanxz

有一个列表

my_name_list = ['Sam', 'Bob', 'John'] 

我想用值的位置替换它的值,像这样:

my_new_list = ['element_1', 'element_2', 'element_3'] 

而且它不是固定的,值的数量可以变化。从 1 到 7。

我是这样开始的:

for element in my_name_list: 
    element = element.replace(element, 'element_' + str(len(my_name_list))) 
    my_name_list.append(element) 
 
 
#But it returns my_new_list = ['element_3', 'element_3', 'element_3'] 

请您参考如下方法:

您的尝试始终使用列表的长度作为数字:

'element_' + str(len(my_name_list)) 

这就是为什么输出中的所有元素都是 element_3。

事实上,除了长度之外,您实际上并不需要原始列表。

my_name_list = ['Sam', 'Bob', 'John'] 
my_new_list = ['element_{}'.format(i) for i in range(1, len(my_name_list) + 1)] 
# or 
my_new_list = ['element_{}'.format(i + 1) for i in range(len(my_name_list))] 
print(my_new_list) 

输出

['element_1', 'element_2', 'element_3']