簡體   English   中英

如何在列表中將變量識別為數字?

[英]How do I make a variable in a list recognizable as a number?

這是我的代碼:

list1 =  "SP   " , "Total Sales   " , "Total Commission"
print("  ".join(list1))
listA = ["103  " , "500"]
listB = "104  " , "25000"
listC = "201  " , "51000"
listD = "319  " , "100000"
listE = "367  " , "12599"
listF = "388  " , "12600"
listG = "435  " , "292000"
print("  ".join(listA))
print("  ".join(listB))
print("  ".join(listC))
print("  ".join(listD))
print("  ".join(listE))
print("  ".join(listF))
print("  ".join(listG))
if  0 < (listA[1]) < 50999:
    print ("yes")

我收到此錯誤: TypeError: unorderable types: int() < str()

我需要能夠檢查(listA[1])的數字,以查看它是否大於0且小於50999,而且我不知道如何使它起作用。

如果你有

listA = ["103  " , "500"]

您可以簡單地使用列表推導將其更改為整數列表:

listA = [int(item) for item in listA]

然后可以將其與其他整數進行比較。

但是,您不應使用七個(或更多)單獨的列表。 最好執行以下操作:

lists = [["103  " , "500"],
         ["104  " , "25000"],
         ["201  " , "51000"],
         ["319  " , "100000"],
         ["367  " , "12599"],
         ["388  " , "12600"],
         ["435  " , "292000"],
        ]

然后以lists[0]而不是listAlists[1]而不是listB等訪問子lists[0]

您正在比較一個字符串和一個整數。

你應該做類似的事情

if  0 < int(listA[1]) < 50999:
    print("yes")

嘗試將其傳遞給int()。 這會將字符串轉換為int。

0 < int(listA[1]) < 50999:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM