
python如何输入列表内容
用户关注问题
我想在Python程序中让用户输入多个值,然后将这些值保存成一个列表,应该怎么做?
通过input函数结合split方法完成列表输入
你可以使用input()函数获取用户输入的字符串,然后用split()方法按照空格或其他分隔符将字符串拆分成列表。例如:
user_input = input('请输入多个数字,使用空格分隔: ')
input_list = user_input.split()
print(input_list)
这样会返回一个字符串列表,如果需要数字列表,可以用列表推导式进行转换:
num_list = [int(x) for x in input_list]
输入的列表内容默认是字符串类型,要如何转换成整数或浮点数列表?
使用列表推导式对输入字符串进行类型转换
获取输入后,利用列表推导式将字符串元素逐个转换成目标类型。例如,对于整数列表:
input_str = input('请输入多个整数,以空格分隔: ')
str_list = input_str.split()
int_list = [int(item) for item in str_list]
如果是浮点数列表,则用float代替int。
如果想通过输入获得类似[[1,2],[3,4]]这样的嵌套列表,可以怎样实现?
使用eval函数或json.loads解析嵌套列表格式的字符串
用户直接输入像Python列表的字符串,可以用eval安全地转换成嵌套列表:
nested_input = input('请输入嵌套列表,例如 [[1,2],[3,4]]: ')
nested_list = eval(nested_input)
print(nested_list)
注意eval有安全隐患,生产环境下可以使用json.loads并输入JSON格式的列表字符串:
import json
nested_input = input('请输入嵌套列表(JSON格式): ')
nested_list = json.loads(nested_input)
print(nested_list)