Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 - Fatal编程技术网

Python 用另一个列表中的相应元素替换列表中的选定元素,这是非常基本的程序员风格

Python 用另一个列表中的相应元素替换列表中的选定元素,这是非常基本的程序员风格,python,list,Python,List,这是一个通过MyProgrammingLab类系统完成的作业。MPL不是字面意义上的python编译器。据我所知,它有一个python仿真器,它传递我提交的代码,查看最终结果,如果它符合预期的答案,它会说它很好。如果不匹配,它会在我提交的代码和它将接受为有效的代码片段和片段之间进行某种比较,并列出一些不同之处作为“有用的提示”(无论如何都可能是错误的提示)。我从中得到的最接近“error”的消息通常是这些阶段,比如“变量X不包含正确的值”。因此这更多的是关于概念的问题,而不是严格的代码 好的,我

这是一个通过MyProgrammingLab类系统完成的作业。MPL不是字面意义上的python编译器。据我所知,它有一个python仿真器,它传递我提交的代码,查看最终结果,如果它符合预期的答案,它会说它很好。如果不匹配,它会在我提交的代码和它将接受为有效的代码片段和片段之间进行某种比较,并列出一些不同之处作为“有用的提示”(无论如何都可能是错误的提示)。我从中得到的最接近“error”的消息通常是这些阶段,比如“变量X不包含正确的值”。因此这更多的是关于概念的问题,而不是严格的代码

好的,我的作业如下:

假设L1和L2都引用列表,编写一条语句,用L2的所有元素替换L1中从索引5到(包括)索引8的元素

我已经完成了本节中有关列表的先前练习。这里唯一的区别不是将集合值替换为给定列表的给定索引,而是将这些值替换为另一个列表中相应索引中的值

在之前的练习中,我必须将0-3个索引的值设置为“垃圾邮件”、“鸡蛋”和“维京人”,我是通过以下方法实现的:

play_list[0:3] = ["spam","eggs","vikings"]
现在我已经知道这基本上是毫无价值的代码,它相当于将电池连接到LED上,看到LED亮起并说“这显示了电”。但它至少展示了这个概念

好吧,我想出了一个类似的方法:

L2[5:9] = L1[5:9]
嗯。。。否。我得到的响应是L2不包含正确的值

所以在这一点上,问题是我是否用正确的应用程序来处理这个问题?我从一个列表(L1)开始,希望将索引5-8中的值复制到相同索引处的列表(L2),因此只需设置L1[5:9]=L2[5:9]


我读过这个问题,我不知道答案是什么,比如建立字典,设置键,使用枚举而不是循环。我怀疑这是我在这堂课后的某个地方会听到的一段对话。

看起来你只是把它倒过来了

基于该语句,t用L2的所有>元素替换从索引5到(包括)索引8的L1中的>元素

L2[5:9] = L1[5:9]
应该是

L1[5:9] = L2[5:9]
但是,这要求您提供L2中的所有元素

L2[5:9] = L1[5:9]
我可以想出一种方法来做到这一点,比如

L1[5:9] = L2

您编写的行执行指定的替换,尽管这与您指定的不完全相同:

>>> l2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> l1 = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M']
>>> l2
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> l2[5:9] = l1[5:9]
>>> l2
[0, 1, 2, 3, 4, 'F', 'G', 'H', 'I', 9, 10]

索引5到8,为什么L1[5:9]?
L2[5:9]=L1[5:9]
的语法正确,将用
L1
的相应元素替换
L2
中的索引5到(包括)8。只有当
L1
L2
的元素少于9个时,此操作才会失败。如果我错了,请纠正我,但如果我执行L1[5:8],它将不包括索引8处的值。在上一个练习中,我必须做+1来包含上一个索引的值。你是对的@MichaelCividanes。python中的列表切片是上限独占的。如果没有失败的具体例子,很难诊断问题。首先,只有当“L2的所有元素”正好是4个元素时,作业才有效。此外,您还必须指定正确的变量.well face palm来交换列表名称。但即使交换了名称,它也会返回一个“L1不包含正确的值”@MichaelCividanes检查我的编辑。问题陈述有点奇怪,但我认为这正是你想要的。仍然说“L1不包含正确的值”我可以使用类似于del L1[5:9]的方法删除这些索引处的值,然后使用插入从L2的相应索引复制值吗?@MichaelCidanes问题是,它似乎并没有要求他们在特定的指数。看起来它要求将l2中的所有值插入到L1[5],L1[6],等等,比如L1[0,1,2,3,4,5,6,7,8,9,10,11]和l2[a','b','c','d','e',将变成:L1[0,1,2,3,4','a','b','c','d','e',9,10,11]?恐怕我不明白。使用您发布的示例,为什么L2[0,1,2,3,4,'F',G',H',I',9,10]不是理想的最终结果?因为您说过这个想法是分配给L1.oh。好的,我现在跟着。是的,那个错误已经纠正了。现在MyProgrammingLab说“L1不包含正确的值”