Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/20: Рейтинг темы: голосов - 20, средняя оценка - 4.70
lostuk
2 / 2 / 3
Регистрация: 04.12.2013
Сообщений: 45
1

Как достать индексы элементов списка

21.04.2016, 18:14. Просмотров 4171. Ответов 9
Метки нет (Все метки)

Добрый день. У меня есть 2 списка s1 и s2. Некоторые элементы списков s1 и s2 пересекаются, мне нужно достать индексы элементов s1, которые совпали с s2.

Ответом должен быть список с индексами: 0, 6, 9, 12, 14, 16, 18, 20, 21, 22, 27, 29, 33, 34, 36, 38, 41, 43, 45. - это и должно

Заранее благодарен.

Python
1
2
s1 = [24, 38, 11, 43, 46, 26, 36, 35, 29, 24, 26, 41, 28, 40, 36, 22, 4, 35, 27, 33, 12, 17, 7, 35, 13, 41, 31, 36, 15, 21, 13, 44, 26, 12, 8, 20, 7, 22, 24, 19, 13, 12, 22, 2, 5, 37, 10]
s2 = [24, 36, 24, 28, 36, 4, 27, 12, 17, 7, 36, 21, 12, 8, 7, 24, 12, 2, 37]
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2016, 18:14
Ответы с готовыми решениями:

Вывести индексы элементов списка = 0
Дан массив a из n целых чисел — информация о количестве осадков, выпавших за...

Вывести индексы элементов списка больших заданного значения
Дан массив из n элементов. Необходимо вывести индексы тех элементов, значения...

Как найти среднее арифметическое для элементов списка?
2) Найдите среднее арифметическое значение для элементов списка. С этим...

Как создать список с суммами элементов другого списка?
Здравствуйте! Вопрос в следующем. Имеется список_1, в котором, допустим, 80...

Индексы элементов-1
Прошу написать легкий код с Def main(): .... main() Заранее благодарю ...

9
alex925
2675 / 2281 / 631
Регистрация: 19.03.2012
Сообщений: 8,831
21.04.2016, 18:29 2
lostuk, тебе в конечном итоге нужно будет удалить из одного списка все повторяющиеся элементы или ты для других манипуляций хочешь получить индексы повторяющихся элементов?
0
lostuk
2 / 2 / 3
Регистрация: 04.12.2013
Сообщений: 45
21.04.2016, 18:31  [ТС] 3
Тут немного все сложнее. Эти индексы мне дальше потребуются для вычислений. Приложу пример того, что программирую, для понятности.
 Комментарий модератора 
Правила п.5.18
Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
0
alex925
2675 / 2281 / 631
Регистрация: 19.03.2012
Сообщений: 8,831
21.04.2016, 18:35 4
А, я просто к тому, что если конечная цель получить уникальные элементы, это с помощью множеств очень удобно можно реализовать, но так как у тебя другое задание, то не суть.
0
Semen-Semenich
625 / 398 / 310
Регистрация: 21.03.2016
Сообщений: 1,214
21.04.2016, 20:49 5
Лучший ответ Сообщение было отмечено lostuk как решение

Решение

возможно это тебе нужно?
Python
1
print( *(s1.index(x)for x in s2 if x in s1 ))
Добавлено через 14 минут
Python
1
2
3
4
5
6
7
8
s1 = [24, 38, 11, 43, 46, 26, 36, 35, 29, 24, 26, 41, 28, 40, 36, 22, 4, 35, 27, 33, 12, 17, 7, 35, 13, 41, 31, 36, 15, 21, 13, 44, 26, 12, 8, 20, 7, 22, 24, 19, 13, 12, 22, 2, 5, 37, 10]
s2 = [24, 36, 24, 28, 36, 4, 27, 12, 17, 7, 36, 21, 12, 8, 7, 24, 12, 2, 37]
rez=set()
for i in s2:
    for j in range(len(s1)):
        if s1[j]==i:
            rez.add(j)
print(*(sorted(rez)))
проверил свой код выше немного не тот результат. вроде так то что тебе нужно
0 6 9 12 14 16 18 20 21 22 27 29 33 34 36 38 41 43 45
1
dondublon
2158 / 1074 / 215
Регистрация: 17.03.2012
Сообщений: 6,469
Записей в блоге: 5
22.04.2016, 07:55 6
Цитата Сообщение от lostuk Посмотреть сообщение
Ответом должен быть список с индексами: 0, 6, 9,
Почему на 2-м месте 6, а не 14?
0
lostuk
2 / 2 / 3
Регистрация: 04.12.2013
Сообщений: 45
22.04.2016, 11:00  [ТС] 7
Ну если по порядку начинать перебирать все значения X и подставлять в формулу "x^3 + 13*x + 24 mod(p)" и искать эти значения в первой таблице то, на втором месте будет 6. Это я объяснял используя данные в листочке, прикрепленные выше.
0
dondublon
2158 / 1074 / 215
Регистрация: 17.03.2012
Сообщений: 6,469
Записей в блоге: 5
22.04.2016, 12:07 8
Цитата Сообщение от lostuk Посмотреть сообщение
и искать эти значения в первой таблице то, на втором месте будет 6.
А если значение встречается на нескольких позициях?
0
lostuk
2 / 2 / 3
Регистрация: 04.12.2013
Сообщений: 45
22.04.2016, 12:10  [ТС] 9
Здесь важно что б этот элемент присутствовал в первой таблице, неважно сколько раз.
0
Marinero
Модератор
Эксперт NIX
2140 / 1721 / 584
Регистрация: 02.03.2015
Сообщений: 5,628
22.04.2016, 12:29 10
Так как написано в условии 1-го поста: индексы элементов первого списка присутствующих во 2-м
Python
1
print( *(x for x in range(len(s1)) if s1[x] in s2 ))
1
22.04.2016, 12:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2016, 12:29

Индексы элементов-5
Формат входных данных: С клавиатуры вводится натуральное число n (n≤100). На...

Индексы элементов-3
Формат входных данных: С клавиатуры вводится натуральное число n (n≤100). На...

Как осуществить ввод элементов двумерного списка не разделяя его пробелами?
подскажите пожалуйста, как в питоне осуществить ввод элементов двумерного...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru