[英]Is it possible list inside another list through a .txt file in Python
[英]Is it possible to have the name of a list inside of another list in python?
所以基本上我不確定為什么我的if語句不起作用,我認為可能是因為我的列表中有列表名稱,但我不確定。 任何幫助表示贊賞,謝謝!
def calc_fare(colour, distance, zonestart, zoneend):
farelist = [colour, distance, zonestart, zoneend]
red = [2.00, 2.50, 4.50, 6.50]
silver = [1.80, 2,30, 4.10, 5.80]
blue = [0.90, 1.15, 2.05, 2.90]
gold = [3.60, 4.60, 8.20, 11.60]
z1 = ['z2', 'z3', 'z7']
z2 = ['z1', 'z3', 'z6']
z3 = ['z1', 'z2', 'z4', 'z6', 'z7']
z4 = ['z3', 'z5', 'z6', 'z7']
z5 = ['z4', 'z6']
z6 = ['z2', 'z3', 'z4', 'z5']
z7 = ['z1', 'z3', 'z4']
if zonestart in zoneend:
return colour[2]
else:
return "test if statement failed"
def main():
print (calc_fare((str(input('Please enter colour'))), (float(input('Please enter distance'))), (str(input('Please enter starting zone'))), (str(input('Please enter ending zone')))))
#print(calc_fare("silver", 8.5, "z3", "z6"))
main()
首先,您要在calc_fare
中聲明一堆您根本沒有使用的局部變量。 讓我們從刪除這些內容開始:
def calc_fare(colour, distance, zonestart, zoneend):
if zonestart in zoneend:
return colour[2]
else:
return "test if statement failed"
distance
參數也不使用:
def calc_fare(colour, zonestart, zoneend):
if zonestart in zoneend:
return colour[2]
else:
return "test if statement failed"
如果第二參數的值包含在第三參數中,則剩下的只是一個函數,該函數以其第一參數所引用的值返回第三項。
有了這些信息,您應該首先重新考慮您的要求。
至於將清單放在其他清單內; 如果您有這個:
l1 = [1, 2, 3]
l2 = [l1, 4, 5, 6]
最終得到的結果等同於:
l1 = [1, 2, 3]
l2 = [[1, 2, 3], 4, 5, 6]
不
l2 = [1, 2, 3, 4, 5, 6]
如果要將“ l1
”“ splat”成l2
,則需要:
l2 = l1 + [1, 2, 3]
要么
l2 = [-3, -2, -1] + l1 + [4, 5, 6]
還是什么。
關於已經定義的變量
'foo'
和"foo"
創建一個包含文本“ foo”的字符串; foo
是指名稱為“ foo”的變量。 如果您不明白這一點,我強烈建議您為絕對的初學者獲得一本有關Python(或與此有關的任何其他語言)的書。
l1 = [1, 2, 3]
l2 = ['l1', 4, 5, 6]
將為您提供確切的信息:一個包含4個項目的列表:字符串“ l1”,后跟整數4、5、6。
您可以使用locals()
,但這不是特別好的做法。 我建議存儲到對象的實際鏈接,而不僅僅是存儲它們的名稱。
編輯:作為一個例子
>>> z1 = ['z2', 'z3', 'z7']
>>> z2 = ['z1', 'z3', 'z6']
>>> locals()[z1[0]]
['z1', 'z3', 'z6']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.