14 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422

Проход по списку

09.10.2019, 12:45. Показов 5192. Ответов 8

Студворк — интернет-сервис помощи студентам
Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
numbers = [7, 3, 1, 6, 7, 1, 7, 6]
sequence = []
j = 0
i = 0
while j + 3 != len(numbers):
    j += 1
    
    for i in numbers[i:i+3]:
        sequence.append(i)
 
    print(sequence)
    sequence.clear()
Дана последовательность чисел, и нужно сделать, чтобы код прошелся по списку и выводил 3 числа последовательно,
то есть сначала начиная с 7 выводит [7,3,1], далее начиная с 3 вывести [3,1,6] и так до конца...
У меня выводит так:
Code
1
2
3
4
5
[7, 3, 1]
[3, 1, 6]
[7, 6]
[7, 6]
[7, 6]
Буду рад вашей помощи, проблема для меня актуальна и встречалась во многих задачах...
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.10.2019, 12:45
Ответы с готовыми решениями:

Определить количество самых дешевых книг, используя 1 проход по списку
В списке хранится информация о стоимости каждой из 60 книг. Определить количество самых дешевых книг, используя 1 проход по списку. ...

Проход по двусвязному списку
Есть такой тип данных: type Uchastok = record pl :real; next, prev :integer; end; Также есть массив из...

Проход по списку без цикла
Добро всем :senor: у меня в Image1 загружаются фотографии с определенной папки, названия файлов (фотографий) я занес в StringList а...

8
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
09.10.2019, 12:54
Ну не знаю. Проблема выглядит довольно частной, мне не встречалась.
Как вариант, с несколькими итераторами:
Python
1
2
3
4
5
6
7
8
9
10
11
from itertools import tee
 
numbers = [7, 3, 1, 6, 7, 1, 7, 6]
it1, it2, it3 = tee(numbers, 3)
 
next(it2)
next(it3)
next(it3)
 
for i1, i2, i3 in zip(it1, it2, it3):
    print(i1, i2, i3)
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
09.10.2019, 13:03
Лучший ответ Сообщение было отмечено SalavatGood как решение

Решение

SalavatGood,

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# -*- coding: utf-8 -*-
 
numbers, sequence = [7, 3, 1, 6, 7, 1, 7, 6], []
 
j = -1
 
while j + 3 != len(numbers):
    j += 1
    
    for i in numbers[j:j+3]:
        sequence.append(i)
 
    print(sequence)
    sequence.clear()
Добавлено через 4 минуты
Второй вариант, без излишеств:

Python
1
2
3
4
5
# -*- coding: utf-8 -*-
 
numbers = [7, 3, 1, 6, 7, 1, 7, 6]
 
for i in range(len(numbers)-2): print(numbers[i: i + 3])
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2019, 13:05
DmFat, я тут сижу, голову ломаю, а он уже сделал...
0
14 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
09.10.2019, 13:06  [ТС]
Спасибо за ответ, он более практичен чем мой:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
numbers = [7, 3, 1, 6, 7, 1, 7, 6]
sequence = []
j = 0
i = 0
n = 3
while j + 2 != len(numbers):
    j += 1
    
    while i != n:
        print(numbers[i])
        i += 1
    
    n += 1
    i = n - 3
    print("")
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2019, 13:13
Цитата Сообщение от DmFat Посмотреть сообщение
Второй вариант, без излишеств:

Python
1
2
numbers = [7, 3, 1, 6, 7, 1, 7, 6]
for i in range(len(numbers)-2): print(numbers[i: i + 3])
Капец я тупой...
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
09.10.2019, 15:00
DmFat,
for i in range(len(numbers)-2): print(numbers[i: i + 3])
Неплохо, но не сработает, если у нас iterable вместо списка.
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2019, 15:02
Цитата Сообщение от SalavatGood Посмотреть сообщение
чтобы код прошелся по списку
Всё по условию!
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
09.10.2019, 15:22
dondublon, Согласен, но я всего лишь упростил функцию ТС.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.10.2019, 15:22
Помогаю со студенческими работами здесь

Рекурсивный проход по списку символов
Здравствуйте. Прошу помочь с решением задачи (Common Lisp) на рекурсию. Задача: рекурсивно пройти по списку, который является списком...

Проход по списку с удаление элементов
Доброе время суток, есть ArrayList<Object>(); нужно: 1. взять элемент 2. выполнить действие с элементом 3. удалить элемент из...

Рекурсивный проход по списку. Вложенность
По следам недавней темы. Дается список '(a b c (d e (f g (O U Y))) j x y) нужно получить '("abc"...

Как реализовать полный проход по списку?
Здравствуйте. Использую AMZI Prolog. Есть несколько предикатов: price(Arg,,). price(Arg,,T1):- arg(2,H,Ha), Arg \= Ha,!, ...

Определить предикат который истинен если все повторяющиеся элементы списка 1 принадлежат списку 2 и не принадлежат списку 3
Определить предикат P(List1,List2,List3) который истинен если все повторяющиеся элементы списка List1 принадлежат списку List2 и не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru