С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/76: Рейтинг темы: голосов - 76, средняя оценка - 4.84
1 / 1 / 0
Регистрация: 22.11.2013
Сообщений: 31

Как посчитать количество общих элементов в списках?

26.11.2013, 17:11. Показов 16305. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
2) Даны два списка. Посчитайте количество одинаковых элементов.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.11.2013, 17:11
Ответы с готовыми решениями:

Найти количество одинаковых символов в двух односвязных списках, учитывая, что элементы в списках могут повторяться
Итак, задание таково: найти количество одинаковых символов в двух односвязных списках, учитывая, что элементы в списках могут повторяться. ...

Количество общих элементов в двух массивах
Ребята, Помогите Пожалуйста написать программу на Java: Даны два возрастающих массива, содержащие в качестве своих элементов k и l целых...

Найти количество общих элементов в массивах.
Даны два возрастающих массива x: array of integer и y: array of integer. Найти количество общих элементов в этих массивах. Вот решение:...

9
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
26.11.2013, 19:17
Python
1
2
3
4
5
6
7
8
9
#coding: utf-8
a = [1, 4, 5, 6, 9]
b = [2, 1, 5, 10, 12]
result = []
 
for i in b:
    if i in a:
        result.append(i)
print(len(result))
Это что вам так много задают или что? Столько заданий накидал

Где учишься если не секрет?
0
1 / 1 / 0
Регистрация: 22.11.2013
Сообщений: 31
27.11.2013, 08:56  [ТС]
Есть места)
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
27.11.2013, 09:50
Можно короче
Python
1
sum(1 for i in a if i in b)
0
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
28.11.2013, 04:18
Или так:
Python
1
2
3
len(set(a).intersection(b))
# немного короче
len(set(a) & set(b))
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
28.11.2013, 09:37
Python
1
2
a = [1, 1, 1]
b = [1]
вот, походу, должно вернуть четыре
0
Z3JheSBoYXQ=
 Аватар для fanatdebian
342 / 237 / 83
Регистрация: 08.07.2012
Сообщений: 577
30.11.2013, 01:00
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/env python
#coding: utf-8
 
a = [1,1,1]
b = [1]
 
 
s = [1,2,3,1,1]
c = [4,3,1,5]
 
 
def somelenList(a,b):
  counter = 1
  if len(a) > len(b):
    for x in a:
      if b.count(x):
        counter+=1
  else:
    for x in b:
      if a.count(x):
        counter+=1
  return counter
 
 
print 'All: %d' % somelenList(a,b), a, b
print 'All: %d' % somelenList(s,c), s, c
Code
1
2
3
4
5
/usr/bin/python2.7 /mnt/big1gb/hddDevelop/source/python/2013/somesdfgsdfg.py
All: 4 [1, 1, 1] [1]
All: 5 [1, 2, 3, 1, 1] [4, 3, 1, 5]
 
Process finished with exit code 0
Подсчет надо делать либо по количеству с использованием метода count, либо используя другой алгоритм, основанный на анализе id и целочисленного значения каждого элемента списков.

Ассепт правильно подметил, что в Питоне все есть объект.

Python
1
2
3
4
5
>>> a = [1,1,1]
>>> b = [1]
>>> print [id(x) for x in a], id(b[0])
[24860600, 24860600, 24860600] 24860600
>>>
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
30.11.2013, 01:21
Цитата Сообщение от fanatdebian Посмотреть сообщение
Code
1
All: 5 [1, 2, 3, 1, 1] [4, 3, 1, 5]
должно быть 6

Цитата Сообщение от fanatdebian Посмотреть сообщение
Ассепт правильно подметил, что в Питоне все есть объект.
не, я имел в виду, что для двух списков типа
Python
1
2
[1, 1, 1, 1, 1, 1]
[1, 1, 1, 1]
оно должно посчитать количество всех общих элементов, а не просто вернуть, что он там один

и это не через id() делается, а через множество общих элементов, которое составляется до основного цикла
1
Z3JheSBoYXQ=
 Аватар для fanatdebian
342 / 237 / 83
Регистрация: 08.07.2012
Сообщений: 577
30.11.2013, 02:01
Python
1
2
3
4
5
6
7
8
9
def some(a,b):
  t=[]
  counter=0
  t.extend(a)
  t.extend(b)
  for x in (set(a) & set(b)):
    if t.count(x):
      counter+=t.count(x)
  return counter
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
30.11.2013, 06:49
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> a = [1, 1, 1, 1, 1, 1, 2]
>>> b = [1, 1, 1, 1, 2, 3]
>>> 
>>> def f(lst1, lst2):
...     n = 0
...     s = set(lst1) & set(lst2)
...     for lst in lst1, lst2:
...         for i in lst:
...             if i in s:
...                 n += 1
...     return n
... 
>>> f(a, b)
12
>>>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2013, 06:49
Помогаю со студенческими работами здесь

Количество одинаковых элементов в двух двумерных списках, заполненных по правилу
Даны два двумерных списка с одинаковыми размерностями MxN. Первый список заполняется построчно по правилу: 1 2 3 4 5 6 7 8 9 ...

Найти количество совпадающих элементов в списках из Memo и ListBox. Исправить програму.
Здравствуйте! Скажите, пожалуйста, что происходит со списками, когда компилятор проходит эти строки? last№ := nil; rab№^.Next...

Написать функцию находящую количество общих элементов двух массивов
Даны два массива целых чисел упорядоченные по невозрастанию. Написать функцию находящую количество общих элементов

Даны два возрастающих массива x[k] и y[l]. Найти количество общих элементов
Даны два возрастающих массива x и y. Найти количество общих элементов в этих массивах ( т. е. количество тех ...

Найти количество общих элементов в массивах. Исправить ошибки в коде
static void Main(string args) { Console.Write("Enter k: "); int k = int.Parse(Console.ReadLine()); ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru