Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 12, 2022 15:45:07

vitz
Зарегистрирован: 2022-09-11
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Срезы в многомерном списке

 a = [[2,4,2,4,5,"FF"],[3,2,"D",1,5]] # список
b = [3,2] #
print([[4,5,"FF"],["D",1,5]])
Спасибо, если кто поможет буду очень признателен.

Офлайн

#2 Дек. 12, 2022 16:02:57

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Срезы в многомерном списке

эээ три последних элемента в каждлм элементе?

 In [1]: a = [[2,4,2,4,5,"FF"],[3,2,"D",1,5]]
In [2]: b = [i[-3:] for i in a]
In [3]: b
Out[3]: [[4, 5, 'FF'], ['D', 1, 5]]
или шо?



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Дек. 12, 2022 16:07:43)

Офлайн

#3 Дек. 12, 2022 17:18:17

vitz
Зарегистрирован: 2022-09-11
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Срезы в многомерном списке

нет
в списке a на выходе должно быть: 1-список убираем первые три значения(2,4,2), второй список-убираем первые два знечения(3,2).На выходе OUT = [, ]

Офлайн

#4 Дек. 12, 2022 17:49:51

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1348
Репутация: +  118  -
Профиль   Отправить e-mail  

Срезы в многомерном списке

 a = [[2,4,2,4,5,"FF"],[3,2,"D",1,5]]
res = [a[0][3:],a[1][2:]]
print(res)

Офлайн

#5 Дек. 12, 2022 18:53:16

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

Срезы в многомерном списке

  
>>> a = [[2, 4, 2, 4, 5, "FF"], [3, 2, "D", 1, 5]]
>>> b = [3, 2]
>>> 
>>> out = [i[j:] for i, j in zip(a, b)]
>>> out
[[4, 5, 'FF'], ['D', 1, 5]]
>>>



Офлайн

#6 Дек. 12, 2022 18:58:36

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Срезы в многомерном списке

 a = [[2,4,2,4,5,"FF"],[3,2,"D",1,5]]
y = 3
b = [j[y - i:] for i, j in enumerate(a)]
py.user.next у вас получше получилось



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Дек. 12, 2022 19:00:37)

Офлайн

#7 Дек. 12, 2022 20:06:39

vitz
Зарегистрирован: 2022-09-11
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Срезы в многомерном списке

Спасибо

Офлайн

#8 Дек. 13, 2022 00:01:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

Срезы в многомерном списке

AD0DE412
  
a = [[2,4,2,4,5,"FF"],[3,2,"D",1,5]]
y = 3
b = [j[y - i:] for i, j in enumerate(a)]

Вот его код
vitz
  
a = [[2,4,2,4,5,"FF"],[3,2,"D",1,5]] # список
b = [3,2] #

Я так понял, что вот этот список b у него может меняться. Там не всегда 3 и 2. Там может быть, допустим, 4 и 8 или 3 и 0.

Поэтому у тебя вот этот код сломается, если там будет не 3 и 2.

А теперь посмотрим на мой код
  
>>> a = [[2, 4, 2, 4, 5, "FF"], [3, 2, "D", 1, 5]]
>>> b = [4, 8]
>>> 
>>> out = [i[j:] for i, j in zip(a, b)]
>>> out
[[5, 'FF'], []]
>>> 
>>> 
>>> a = [[2, 4, 2, 4, 5, "FF"], [3, 2, "D", 1, 5]]
>>> b = [3, 0]
>>> 
>>> out = [i[j:] for i, j in zip(a, b)]
>>> out
[[4, 5, 'FF'], [3, 2, 'D', 1, 5]]
>>>
Как видим, ему всё равно, что там в этом списке, он правильно срабатывает в каждом случае.

Если брать код xam1816'а, то для двух элементов это сработает, а для тысячи элементов это сработает? Они просто будут приходить в потоке откуда-то там, из файла или из сети или из динамической базы данных. Каждый раз руками ты не понабираешь их индексы и никогда не угадаешь, сколько их там будет. Поэтому тут нужен цикл какой-то, включение там или просто прямой цикл.



Отредактировано py.user.next (Дек. 13, 2022 00:04:17)

Офлайн

#9 Дек. 14, 2022 12:38:40

vitz
Зарегистрирован: 2022-09-11
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Срезы в многомерном списке

PYTHON:
a = [, ] # удалить дубликаты с сохранением последовательности
???
print([,]) # результат

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version