2024-09-29 19:23:55 发布
网友
我有一个Python作业(使用Jupyter)
在这里:
我需要在第27行创建一个名为weird的列表,如果我对其执行xrotateR(weird[0])函数,该列表将产生[[3,1,2],[3,1,2]]
我该怎么做
xrotateR的功能是:
def xrotateR(lst) : c=lst[-1:] lst[:]=c+lst[0:-1]
谢谢
他们希望您将相同的列表(实际上是内存中相同的对象,而不仅仅是相等的列表)放入列表列表中
>>> def xrotateR(lst) : ... c=lst[-1:] ... lst[:]=c+lst[0:-1] ... >>> weird = [[1, 2, 3]]*2 >>> weird [[1, 2, 3], [1, 2, 3]]
我们可以确认weird的元素不仅相等,而且与is运算符是同一个对象
weird
is
>>> weird[0] is weird[1] True
因此,xrotateR将使weird的两个条目都发生突变
xrotateR
>>> xrotateR(weird[0]) >>> weird [[3, 1, 2], [3, 1, 2]]
顺便说一下,实例化这样一个列表是一个common bug
编辑:试试Python Tutor他们要求的可视化效果,它会为你绘制正确的图表。一定要理解他们
他们希望您将相同的列表(实际上是内存中相同的对象,而不仅仅是相等的列表)放入列表列表中
我们可以确认
weird
的元素不仅相等,而且与is
运算符是同一个对象因此,
xrotateR
将使weird
的两个条目都发生突变顺便说一下,实例化这样一个列表是一个common bug
编辑:试试Python Tutor他们要求的可视化效果,它会为你绘制正确的图表。一定要理解他们
相关问题 更多 >
编程相关推荐