Skip to main content
 首页 » 编程设计

python之移动列表中的元素 (Python)

2025年05月04日10qlqwjy

我正在尝试运行一个代码,将列表的值向右移动三个位置。例如,我有一个列表 [1,2,3,-3,15,6,71,42],我想输出 [-3,15,6,71,42, 1,2,3 ] , 但程序的当前输出是 [-3, 15, 6, 71, 42, 8, 8, 8]。

我找不到错误,但教授要我更改ONLY ONE LINE OF CODE来修复错误。所以错误一定不会太难发现。除了我似乎找不到它:D

def foo1(values):  
   return values[0]  
 
def foo2(values): 
   for i in range(1,len(values)): 
      values[i-1] = values[i] 
 
def foo3(values,c): 
      values[len(values)-c] = len(values) 
 
def main():  
   values = [1,2,3,-3,15,6,71,42]  
   k = 3 
   for r in range(k):  
      a = foo1(values) 
      foo2(values) 
      foo3(values,a) 
 
   print("Here is the shifted list to the left for " + str(k) + " time:" ) 
   print(values) 

请您参考如下方法:

您的解决方案过于复杂 - 没有必要拥有三个不同的功能。假设您有一个名为 data 的列表,您可以简单地执行以下操作:

for i in range(number_of_shifts): 
    data.append(data.pop(0))