Как пропустить определенные индексы, которые пусты при переборе списка? - PullRequest
0 голосов
/ 24 июня 2019

напримерУ меня есть следующий список:

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 голосов
/ 24 июня 2019

Вы можете проверить индекс раньше:

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

или поймать ошибку индекса:

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

Я не уверен, какова цель k, поэтому я не знаю, принадлежит ли он блокам try / if или вне их.

0 голосов
/ 24 июня 2019

Просто добавьте еще одно условие перед печатью символа

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, и покажите примерполный выданный вывод)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...