#python #list #indexing
Вопрос:
wordlist = open(r'C:UsersislamDesktop10k most passwords.txt')
for words in wordlist:
line = (words.split())
for count, ele in enumerate(wordlist, 1):
x=(([count, ele]))
print(x)
Вывод :
[9994, «хугохугон»]
[9995, ‘восемьдесятn’]
[9996, ‘epsonn’]
[9997, «евангелия»]
[9998, ‘eeeee1n’]
[9999, ‘eyphed’]
Как я мог бы найти индекс 0 , введя его содержимое, например, ввод 9995, а вывод будет :
[9995, ‘восемьдесятn’]
Ответ №1:
Это один из подходов:
with open('path/to/file') as file:
data = file.readlines()
while True:
try:
user_input = int(input('Enter index:'))
if user_input < 1:
raise ValueError
print(data[user_input - 1].strip())
except (ValueError, IndexError):
print('Invalid index value')
Я бы сказал, довольно просто, так как, если вы разделите по строкам чтения, это уже список, и к нему можно получить доступ с помощью индексов (вычтите 1 из 1 для «начального» индекса), остальная часть кода, включающая обработку ошибок, предназначена для удобства пользователя.
Просто для получения значения из «жестко закодированного» индекса:
with open('path/to/file') as file:
data = file.readlines()
index = 5
print(data[index - 1])
Комментарии:
1. Спасибо , что сработало!!, Я хочу когда-нибудь быть похожим на тебя, я потратил 1 час, думая, как это сделать, все, что я могу сказать.
2. есть проблема, когда я удаляю ввод и добавляю число в значение user_input, делая бесконечный цикл со словом
3. @Islamhamdi ну да, почему не сделать это
input()
потому, что входные остановки все и ждет, пока пользователь вводит что-то, если вы хотите указать индекс в коде, просто такprint(data[put_index_here - 1].strip())
(.strip()
не надо, он просто удаляет этот завершающий перевод строки) (put_index_here
просто поставить фактическое число, как:print(data[5 - 1])
) (-1
«пуск» индексировать с 1) (и код в этом случае может быть просто как 3 линии)4. Я обновил код, чтобы включить образец того, что я упомянул в другом комментарии
5. хорошо, но если вы вводите индекс в коде, то нет особой необходимости во всех этих попытках и других вещах, вы можете просто сделать так, как я сделал в своем ответе, внизу я добавил код, чтобы, если вы хотите указать индекс в коде, вы могли бы сохранить эти попытки, за исключением тех случаев, когда вам действительно нужно
Ответ №2:
вы можете попробовать это:
list.index(element, start, end)
element - the element to be searched
start (optional) - start searching from this index
end (optional) - search the element up to this index
В месте списка вы пишете свое имя в списке.
Я думаю, что это может помочь