【发布时间】:2015-05-08 08:41:28
【问题描述】:
求助,当我尝试从字符串中提取整数时,我不断收到 ValueError: invalid literal 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,
我的代码是它包含游戏的分数,我希望我的程序按字母顺序对它们进行排序。有人可以解决我的问题吗?
注意:程序中的部分代码没有使用。
【问题讨论】:
-
最好不要为变量使用字符串和拆分之类的名称,因为它们会影响这些名称的原始含义。
标签: python list python-3.x