Python - ValueError:以 10 为基数的 int() 的文字无效:''

2024-05-03

求助,当我尝试从字符串中提取整数时,我不断收到 ValueError: invalidliteral for int() with base 10: '' !

from string import capwords
import sys,os
import re

def parseint(List):
    newlist = [i for i in List if isinstance(i, int)]
    return newlist
def getint(string):
    number = [int(x) for x in string.split("-")]
    return number

file=open('./Class 1/usr_score.data','r')
text=file.read()

def get_num(x):
    return int(''.join(ele for ele in x if ele.isdigit()))

split = text.split(",")

split.sort(key = lambda k : k.lower())
for i in split:
    print(i)

print ('---------------------------------------')
list1=[]
for i in split:
    list1.append(str(i))

num_list1=[]

for i in list1:
    ints = re.findall(r'\b\d+\b', i)

    #ints = getint(i)[0]
    for i in ints:
        int1=i
    num_list1.append(i)

    #num_list1 = parseint(list1)

num_list=num_list1


for i in num_list:
    print(i)

文件 usr_score.data 包含:

user-1,aaa-1,usr-3,aaa-4,

我的代码是它包含游戏的分数,我希望我的程序将它们按字母顺序排序。有人可以解决我的问题吗?

注:程序中部分代码未使用。


您的输入数据末尾有一个“,”,这会导致 split() 除了分数之外还生成一个空字符串:

['user-1', 'aaa-1', 'usr-3', 'aaa-4', '']

int('')不起作用;你应该删除那个空字符串,或者处理它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python - ValueError:以 10 为基数的 int() 的文字无效:'' 的相关文章

随机推荐