python - 基数为 10 的 int() 的无效文字:'[7' 以及如何删除括号
问题描述
arrx=list(map(int,input().strip().split(',')))
我正在尝试上面的代码来获取的输入,'[7,5,1,6,3,4]'
但我得到了一个错误invalid literal for int() with base 10: '[7'
。
任何人都可以向我建议一条出路吗?
解决方案
您可以.strip()
通过指定字符来剥离它们:
arrx=list(map(int,input().strip('[] ').split(',')))
请注意,如果您的输入实际上是一个 JSON 列表,您可以更稳健地将其解析为 json:
import json
arrx = json.loads(input())
如果它是 Python 文字表达式,您可以使用ast
:
import ast
arrx = ast.literal_eval(input())
推荐阅读
- magento - Magento 1.9 产品自定义选项 输入类型批量更新
- php - 如何使用phpword创建一个包含其他几个人的所有内容的word文档
- angular - 如何首先使用两个翻译器处理 JSON 文件,然后使用第二个翻译器处理 firestore?
- java - 如果ResultSet取值并存入内存,为什么ResultSet对象关闭后就不能使用了?
- youtube-api - 获取 YouTube 频道的审核详细信息
- jquery - 全选时如何使用过滤器
- maven - 使用 maven 生成 karaf 功能时出现 NoFileAssignedException 异常
- node.js - npm install 错误:EACCES:权限被拒绝,访问“/var/www/html”
- c# - 如何使用 LINQ 从列表中选择分组的更大值
- php - fsockopen 问题,奇怪的行为