猿问

如何将从 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 只需要这部分代码的帮助。


幕布斯7119047
浏览 132回答 2
2回答

凤凰求蛊

如果它们总是用逗号分隔,那么像这样简单的东西就可以工作:b = list(map(int, a12.split(",")))如果它们可以是空格或逗号,则使用简单的正则表达式字符串就足够了:b = list(map(int, re.split("[\s,]+", a12.strip()))

慕森卡

这应该工作:a12 = entry_01.get()a13 = a12.split(",")b = []for k in a13:    b.append(int(k))   
随时随地看视频慕课网APP

相关分类

Python
我要回答