使用if-else块迭代列表

时间:2014-04-05 07:38:31

标签: python loops

我有一个列表text,它基本上是markdown格式的表的字符串,每行都有自己的列表项。也就是说,列表类似于['Row1', 'Row2', 'Row3']

我正在尝试将每一行追加到一个字符串中,这很容易完成,但由于标记表的格式如何,标题标题后面的行(在我的情况下,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'

1 个答案:

答案 0 :(得分:0)

使用

if item == text[0]:
如果已定义item

将起作用。在您的情况下,它在for循环中定义:

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

如果你这样做,你就不会得到NameError(至少你不会在这些行中得到错误)。