python - 如何将从 text() 小部件获得的字符串转换为 int 数据类型列表?
问题描述
所以我正在尝试创建一个小型 GUI 应用程序,它可以从 text() 小部件示例中获取用户的数据:112,21,33,49,5 或 12 21 33 49 5 并根据用户选择。但我现在陷入了这个问题。
问题是我的逻辑适用于像 9、8、3、5、2、6 这样的单值数据,但是当我给出像 99、22、44、11 这样的数据时,它完全是垃圾。它计算每个单独的项目,然后执行其余的操作。请帮我解释一下逻辑。
这是从小部件获取数据并转换为 int 并将 int 数据附加到另一个空白列表 b[] 的代码。
b = []
a12 = entry_01.get("1.0", "end-1c")
for k in a12:
if k != ",":
c = int(k)
b.append(c)
在添加所有数据后列表 b[] 准备就绪后,我然后应用搜索或排序算法。SI 只需要这部分代码的帮助。
解决方案
如果它们总是用逗号分隔,那么简单的事情就可以了:
b = list(map(int, a12.split(",")))
如果它们可以是空格或逗号,则使用简单的正则表达式字符串就足够了:
b = list(map(int, re.split("[\s,]+", a12.strip()))
推荐阅读
- angular - mat-card-avatar 在初始页面加载时未正确呈现
- curl - Google Drive API:如何连接到“受限 API”?
- snowflake-schema - 监控雪花数据库架构更改的最佳方法?
- javascript - 为什么我需要在AJAX之后使用ReactJS状态来更新UI在下面的场景中
- c++ - 将 Integer 读取为 int 并检查重复数字
- ios - 从 Xib 加载的 UITableViewCell 始终具有 Nil 值
- angular - 如何使用角度 6 在 api 调用上刷新 SidenavComponent Adn 从另一个组件重新加载侧边栏上的数据?想刷新侧边栏上的图像
- oauth - 用户组/组织的 OAuth 2.0 流程
- r - R - dplyr - 运行许多非常相似的查询的代码......?
- c++ - C++:将两个数组传递给一个函数,但结果出乎我的意料