[英]Python: Printing dictionary outside of for loop only prints last value
我制作了一些字典,如下所示。 在 for 循環中打印字典時,它可以工作並打印 CSV 列中的所有值,我也想要它。
但是,當在 for 循環之外打印 StationList 時,它只打印 csv 的最后一個值,我希望它打印所有值。 在 for 循環外打印時,如何將字典獲取到 output 的所有值?
DictConnections = {}
StationList = {}
with open('londonconnections.csv', 'r') as csvfile:
reader = csv.DictReader(csvfile, delimiter = ',')
for row in reader:
Station1 = (row['station1'])
Station2 = (row['station2'])
Time = (row['time'])
DictConnections[Station1, Station2] = Time
StationList = Station1
print(StationList)
Output:
13
非常感謝您的幫助。
問題是當你這樣做時:
StationList = Station1
變量StationList
現在將指向Station1
的當前 memory position 。
append()
)所有Station1
。對於第二種可能性,您需要在行迭代之前創建一個空列表:
stations = []
然后在循環內(之前放置打印的地方)你 append 到列表中:
stations.append(Station1)
現在您可以打印列表:
print(*stations, sep = "\n")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.