#python
#питон
Вопрос:
как я могу создать список из списка лагера и только 3 позиции в новом списке в Python
list = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)
Может ли это быть так?
list = (1,5,9,12,15,18,21)
Комментарии:
1. Во-первых, не перезаписывайте встроенную
list
функцию, во-вторых(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)
, это не список.2. Вы имеете в виду взять каждый третий предмет? Тогда почему нет выхода
[1,4,7,10...]
?
Ответ №1:
Вы можете использовать slicing
:
list1 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21] list1[::4]
gt;gt;gt; [1, 5, 9, 13, 17, 21]
также не используйте список в качестве имени списка
Комментарии:
1. Это возвращает [1, 5, 9, 13, 17, 21] не 12, 15, 18
2. @Говорит «да», и, согласно его объяснению, это то, чего он хочет, несмотря на то, что желаемый результат выглядит по-другому
3. спасибо тебе, братан 😀
4. @Фанстил не прблемо 😉
Ответ №2:
Первый раз участвую здесь, но этого будет достаточно:
my_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21] new_list = [] for i in range(1, len(my_list) 1, 4): new_list.append(i) print(new_list)