#python #loops #for-loop #range
#питон #петли #для-петли #диапазон
Вопрос:
Я новичок в программировании, так что потерпите:), я пытаюсь создать цикл for, чтобы показывать только первые несколько элементов 2d-списка. там будет 2 списка 1, в которых будут показаны первые элементы вплоть до скрытого пароля, в которых пользователю будет предложено, хотят ли они видеть полную строку с нераскрытым паролем. Кажется, я не могу заставить их для цикла печатать только первые 0-5 элементов каждой строки. Приведенный ниже код идеально подходит для 2-го цикла, но мне нужна помощь, чтобы создать цикл for, который печатается, например, из [0:5].
allUserDetails = [["John", "Doe", "User", "Sales", "johndoe91", "Hidden", "Viewable"], ["James", "Hill", "Admin", "Administrator", "hill95", "Hidden", "Viewable"]] showRecords = 0 for row in range(len(allUserDetails)): # loop prints the full list showRecords = 1 print("-" * 25) print("Record: ", showRecords) for col in range(len(allUserDetails[row])): print(allUserDetails[row][0:][col][0:]) showRecords = 0 print("-" * 25) print()
Любая помощь будет очень признательна 🙂
Комментарии:
1. Вы можете нарезать свой
allUserDetails
на первыйn
попавшийся или использоватьbreak
в цикле, чтобы остановиться при некоторых условиях
Ответ №1:
Из того, что я понял, вы хотите напечатать только первые пять элементов каждой строки?
В этом случае вы можете выполнить итерацию по списку, чтобы получить строки, а затем разрезать строки. Реализация этого может выглядеть примерно так:
for row in allUserDetails: for element in row[0:5]: # the rows have been sliced to only show element 0 - 5 print(element) print("-" * 25)
Ответ №2:
Я бы предложил использовать другой цикл for внутри цикла строки, который поможет выделить n элементов из строки
for row in allUserDetails: #Loops through all arrays in the 2D array for i in range(5): #Loops through the first five elements of the row print(row[i])
for row in allUserDetails
установит переменную строку в массив строк, как определено в вашем 2D-массиве.
for i in range(n)
проделает цикл через эту строку n раз, а затем вы можете распечатать каждую найденную там строку, используя print(row[i])