Python如何将嵌套列表中的字符串数字转为整数?新手求助
解决嵌套列表中数字为字符串的问题
你的代码生成的嵌套列表里元素是字符串类型(带引号),核心问题是input()获取的内容默认是字符串,split()分割后得到的依然是字符串元素,需要把它们转换成整数类型。
修改后的代码如下:
result_list = [] for i in range(2): userinput = input("Enter some numbers: ") # 将分割后的每个字符串转为整数 num_list = [int(num) for num in userinput.split()] result_list.append(num_list) print(result_list)
关键改动说明:
- 变量名从
list改为result_list:list是Python的内置类型,用作自定义变量名会覆盖它,可能导致后续代码出现意外问题 - 用列表推导式转换类型:遍历
split()得到的每个字符串元素,通过int()函数将其转为整数,这样生成的子列表里就是数字类型而非字符串
运行后的输出:
Enter some numbers: 1 2 Enter some numbers: 3 4 [[1, 2], [3, 4]]
如果需要处理用户输入非数字的情况(比如误输入字母),可以添加异常捕获逻辑,示例如下:
result_list = [] for i in range(2): while True: userinput = input("Enter some numbers: ") try: num_list = [int(num) for num in userinput.split()] break except ValueError: print("请输入有效的数字,用空格分隔") result_list.append(num_list) print(result_list)
内容的提问来源于stack exchange,提问作者somebody5050403
相关产品推荐
相关产品推荐

