我遇到問題,將一些數字從字符串轉換爲整數。這是有問題的功能:將字典值轉換爲整數
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