如何将用户输入的列表作为参数传入Python左移元素函数?
解决列表左移函数及用户输入传递问题
首先完成shift_left函数的核心逻辑:左移就是把列表第一个元素移到末尾,用Python切片可以轻松实现:
def shift_left(my_list): # 取从第二个元素开始的所有元素,拼接上第一个元素组成新列表 return my_list[1:] + [my_list[0]]
测试这个函数,完全符合你给出的示例效果:
>>> shift_left([0, 1, 2]) [1, 2, 0] >>> shift_left(['monkey', 2.0, 1]) [2.0, 1, 'monkey']
接下来解决如何让用户输入的3元素列表作为参数传给函数,这里给你两种简单易用的方法:
方法1:逐个输入元素
让用户依次输入三个元素,手动组装成列表后传入函数:
# 获取用户输入的三个元素 elem1 = input("请输入第一个元素:") elem2 = input("请输入第二个元素:") elem3 = input("请输入第三个元素:") # 组装成列表(如果需要特定数据类型,比如整数,可以用int(elem1)转换) user_list = [elem1, elem2, elem3] # 调用函数并输出结果 result = shift_left(user_list) print("左移后的列表:", result)
方法2:直接输入列表格式字符串
如果用户能按照[元素1,元素2,元素3]的格式输入,可借助eval将字符串转为列表(注意:该方式仅适合练习场景,不要用于处理不可信的外部输入):
user_input = input("请输入3元素列表(格式示例:[0,1,2]):") user_list = eval(user_input) # 简单校验元素数量 if len(user_list) != 3: print("请输入恰好包含3个元素的列表!") else: result = shift_left(user_list) print("左移后的列表:", result)
内容的提问来源于stack exchange,提问作者Avi Israeli
相关产品推荐
相关产品推荐

