2014-04-05 23 views
0

我有一個列表text,它基本上是降格格式的表中的字符串,每行都有自己的列表項。也就是說,該列表類似於['Row1', 'Row2', 'Row3']使用if-else塊對列表進行迭代

我想追加每行到一個字符串,這很容易做到,但由於如何降價表格格式化,標題標題後面的行(在我的情況下,text[0])必須有一種特殊的格式(見下文)。下面是我嘗試過的代碼,但不是在第一行之後添加特殊格式,而是在每一行後面(我發現原因)。除了if text[0]:之外,我也試過使用if item==text[0]:,但那會給我一個NameError: name 'item' is not defined。我怎麼解決這個問題?

for item in text: 
    if text[0]: 
     reply_string += item+'\n' 
     reply_string += "|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|\n" 
    else: 
     reply_string += item+'\n' 

回答

0

使用

if item == text[0]: 

如果item將工作已定義。在你的情況下,在for環路的已定義:

for item in text: 
    if item == text[0]: 
    # ... 

如果你這樣做,你不會得到一個NameError(至少你不會得到這些線路的錯誤)。

+0

哦,我只是意識到這只是我的一個愚蠢的錯誤;與if-else塊無關。但是謝謝你! – timorthi