所以这是通过MyProgrammingLab类系统完成的赋值。从字面意义上讲,MPL不是python编译器。我尽可能地告诉它有一个python模拟器,它传递我提交的代码,查看最终结果,如果它匹配它所期望的答案它说它很好。如果它不匹配,它使用我提交的代码和它将接受的代码片段和片段之间的某种比较作为有效,并列出一些差异作为“有用的提示”(无论如何往往是错误的提示)。我得到的最接近'错误'消息的通常是这些阶段,如“变量X不包含正确的值”。所以这更像是关于概念的问题,然后是严格的代码。
好的,我的作业如下:
鉴于L1和L2都引用了列表,编写一个语句,将索引5中的元素和(包括)索引8中的元素替换为L2的所有元素。
我已经完成了本节中有关列表的先前练习。这里唯一的区别是不是将设置值替换为给定列表的给定索引,而是将这些值替换为在另一个列表中找到的相应索引中找到的值。
在之前的练习中,我必须将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]
我已经阅读了问题Replace element in list with element from another list - Python,我不知道答案是在讨论建筑词典,设置密钥以及使用枚举而不是循环。我怀疑这是一个我将在这个特定课程之后站在某个地方的对话。
答案 0 :(得分:1)
看起来你只是倒退了。
基于语句,t将 L1 中的>元素从索引5替换为(包括)索引8,并将所有>元素 L2
L2[5:9] = L1[5:9]
应该是
L1[5:9] = L2[5:9]
但是,这要求你 L2中的所有元素
我可以想到一种方法,比如。
L1[5:9] = L2
答案 1 :(得分:0)
您编写的行确实执行了指定的替换,尽管这不是您指定的:
sapply