有一个列表
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']
