Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python中列表中存储的另一个元素替换元组的一个元素_Python_List_Tuples - Fatal编程技术网

用python中列表中存储的另一个元素替换元组的一个元素

用python中列表中存储的另一个元素替换元组的一个元素,python,list,tuples,Python,List,Tuples,我有一份清单: replace_by=['a1','b1','c1','d1','e1'] 我还有一个元组列表,类型为 main_list=[('a',[]),('b',[]),('c',[]),('d',[]),('e',[])] 我的主要目标是用replace_by list中的相应元素,即a1、b1、c1、d1、e1,替换main_list中每个元组的第一个元素,即a、b、c、d、e 如果有人能以一种类似蟒蛇的方式帮助我,我将不胜感激!提前谢谢 您不能真正“替换”,因为元组是不可变的,

我有一份清单:

replace_by=['a1','b1','c1','d1','e1']
我还有一个元组列表,类型为

main_list=[('a',[]),('b',[]),('c',[]),('d',[]),('e',[])]
我的主要目标是用replace_by list中的相应元素,即a1、b1、c1、d1、e1,替换main_list中每个元组的第一个元素,即a、b、c、d、e

如果有人能以一种类似蟒蛇的方式帮助我,我将不胜感激!提前谢谢

您不能真正“替换”,因为元组是不可变的,但是您仍然可以使用
replace\u by
列表中的第一个元素和原始
main\u列表中的第二个元素创建新元组

new_list = [(a,b[1]) for a,b in zip(replace_by,main_list)]

元组不能就地修改。但是,您可以轻松创建新版本

replace_by=['a1','b1','c1','d1','e1']
main_list=[('a',[]),('b',[]),('c',[]),('d',[]),('e',[])]

new_list = [(replace_by[i],b)for (i,(a,b)) in enumerate(main_list)]
print(new_list)

它是如何“对应”的?按索引?旁注:元组是不可变的,您不能“替换”元组中的任何内容-您可以创建一个新元组!元组是不可变的,因此您必须使用另一个数据结构,或者替换元组而不是更改它们。另外,我想知道您是否不想在这种情况下使用地图之类的东西。如果你能解释一下你想要实现什么(并给我们一个预期输出的例子,正如@alfasin所建议的那样),这会很有帮助。元组是不可变的,但不是其中的te列表。他可以使用
main_list[0][1]。append(用[1]替换_])
并且没有问题。@ArthurGouveia是的,但我不确定OP想要实现什么(他说的是“第一个元素”,我想这意味着字符串而不是列表)。是的。你说得对。我错了,这帮了我的忙!