如何在遍历列表时跳过某些为空的索引?

时间:2019-06-24 15:11:00

标签: python python-3.x list

例如我有以下列表:

final=['feed', 'thed', 'og']

我将其迭代为:

count=0
number_of_character_to_print = 8
for i in range(len(final)):
    for j in final:
        if count>=number_of_character_to_print:
            break
        else:
            print(j[i],end="")
            count=count+1
    print()

输出为:

fto
ehg
eeIndexError: string index out of range

和索引不足错误,因此有办法跳过列表中的空索引,而是跳过下一个列吗?

2 个答案:

答案 0 :(得分:0)

只需在打印字符之前添加其他条件

if k>=len(s) or :
    break
else:
    if i < len(j):
        print(j[i],end="")
    else:
        #Do something or just print a space or ignore this else
    k=k+1  

如果这不能解决问题,我们将需要更好的示例(解释变量c,k,s是什么,并显示完整输出示例)

答案 1 :(得分:0)

您可以先检查索引:

if len(j) > i:
    print(j[i],end="")
    k=k+1

或捕获索引错误:

try:
    print(j[i],end="")
    k=k+1
except IndexError:
    pass

我不确定k的用途是什么,所以我不知道k是属于try / if块还是位于它们之外。