while循环打印列表在python中

时间:2011-11-06 08:53:28

标签: python loops

以下代码:

c=0 while c < len(demolist):
    print ’demolist[’,c,’]=’,demolist[c] 
    c=c+1

创建此输出:

demolist[ 0 ]= life
demolist[ 1 ]= 42
demolist[ 2 ]= the universe
demolist[ 3 ]= 6
demolist[ 4 ]= and
demolist[ 5 ]= 7
demolist[ 6 ]= everything

在while循环中打印的demolist[',c,']格式有什么用?为什么这会在括号中给出一个数字,而将demolist[c]放在那里只打印出那个?

3 个答案:

答案 0 :(得分:5)

print语句接收四个参数(以逗号分隔):

’demolist[’   # string
c             # integer
’]=’          # string
demolist[c]   # result of list access

编写该行的更清晰的方法是:

print 'demolist[ {0} ]= {1}'.format(c, demolist[c])

看到它在线工作:ideone


注意:您可能还需要考虑在此使用enumerate而不是while循环。

for n, elem in enumerate(demolist):
    print 'demolist[ {0} ]= {1}'.format(n, elem)

看到它在线工作:ideone

答案 1 :(得分:2)

print ’demolist[’,c,’]=’,demolist[c]打印字符串"demolist["c的值,字符串"]="demolist[c]的值,用空格分隔。

答案 2 :(得分:1)

c是一个整数。 demolist[c]会从列表c返回索引demolist的值。

print ’demolist[’,c,’]=’打印一系列对象,并隐式转换为字符串(这就是您不需要将c(整数)显式转换为字符串的原因)。

编写此代码的更好方法是

for idx, item in enumerate(demolist):
    print 'demolist[%d] = %s' % (idx, item)