我遇到问题,将一些数字从字符串转换为整数。这是有问题的功能:将字典值转换为整数
def read_discounts():
myFile = open('discount.txt', 'r')
discountValues = {}
#read and split first line
firstLine = myFile.readline()
firstLine = re.sub(r'\$','',firstLine)
firstLine = re.sub(r'\%','',firstLine)
firstLine = firstLine.split()
#add values to dictionary
discountValues['UpperLimit1'] = {firstLine[2]}
int(discountValues['UpperLimit1'])
discountValues['PercentDiscount1'] = {firstLine[4]}
而且回溯:
Traceback (most recent call last):
File "C:\Users\Sam\Desktop\test.py", line 94, in <module>
main()
File "C:\Users\Sam\Desktop\test.py", line 6, in main
discounts = read_discounts()
File "C:\Users\Sam\Desktop\test.py", line 33, in read_discounts
int(discountValues['UpperLimit1'])
TypeError: int() argument must be a string or a number, not 'set'
我稍微超出我的深度,但我知道,discountValues['UpperLimit']
是应该能够被转换为一个值整数(100
)
我试过了:我已经尝试将字符串列表中的值转换为字典之前的值,并且我得到了相同的结果。我也尝试过使用词典理解,但是当我稍后使用该值时似乎会导致问题。
任何意见将不胜感激,谢谢。
取出围绕第一行的{和} [] – NendoTaka
将错误整理出来后,可能值得注意的是int(discountValues ['UpperLimit1'])'没有任何作用。 'int(somevalue)'不会将'somevalue'转换为int中的int值;你需要'somevalue = int(somevalue)'。 – Kevin
谢谢都。特别是凯文,真的救了我。 – c3066521