簡體   English   中英

使用枚舉

[英]Working with enumerate

所以我在最近幾天開始使用python,除了5年前的一些基本編碼知識。 我戀愛了。

我正在導入.csv,其中包含按dyad排序的歷史聯盟...所以每個聯盟都有一個特殊號碼。 同一個國家/地區的文件中還有更多內容。 我正在努力讓用戶提供一個國家和一個日期,並能夠返回他們與那一年結盟的國家。 這是一排數據。

6 200 United Kingdom 255 Germany 1 1 1816 31 10 1822 1 0 1 0 0  1 0
6 200 United Kingdom 300 Austria-Hungary 1 1 1816 31 10 1822 1 0 1 0 0 1 0

第一個數字是二元數字,然后是國家代碼和國家,國家代碼和國家,聯盟開始日,月,年,結束日,月,年。 最后的部分並不重要。

import csv
name='United Kingdom'
diad = [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
with open('list.csv') as inputfile:
    r = list(csv.reader(inputfile))
    for i, j in enumerate(r):
         if j == name:
              diad[0]=name
          print "true"
              diad.insert(0, name)

我運行它什么也沒得到,所以if語句不是真的......我不明白怎么回事。 您正在查看前兩行數據,不應該枚舉查找“英國”的任何實例並將其找到的內容插入到diad列表中? 如果我能讓這件作品完成,我的任務應該很簡單。

迭代通過CSV迭代而不是列。 所以在每次迭代中, j都是列的列表。 然后,您需要遍歷j的元素,以便與您的字符串進行比較。

我認為你對enumerate內容感到困惑。 事實上,你根本不需要它。 它的作用是給你一個索引以及你要枚舉的東西的值。 因此,在這種情況下,您將進行第一次迭代0加上第一行,然后是第二行,依此類推。 由於您沒有使用索引,因此您不想使用枚舉。

暫無
暫無

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

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