Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сравнение 2х списков по номерам 
:(
    Опции темы
КунгФуЧайник
Дата 31.3.2013, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 10.8.2011

Репутация: нет
Всего: нет



Каждый список состоит из какого-то коичества записей вида "номер|наименование|цена". Номер и наименование берутся из одного справочника. Нужно сравнить списки и найти различия - каких номеров в каком списке нет. 
Пример:
Код

dc1 = {1: 'шорты, 150', 2: 'гавайка, 300', 4: 'шлепанцы, 100', 5: 'крем, 100'}
dc2 = {1: 'шорты, 150', 2: 'гавайка, 300', 5: 'крем, 100'}

difference = set(dc1).different(dc2)

Выдает "4". Но как узнать, в каком списке этой 4ки не хватает - списки могут быть на сотни\тысячи записей.

Кажется разобрался - зависит от позиции:
Код

difference = set(dc2).different(dc1)

возвращает пустое множество - "set()".


Это сообщение отредактировал(а) КунгФуЧайник - 31.3.2013, 20:40
PM MAIL   Вверх
Backward
Дата 2.4.2013, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 5.6.2007

Репутация: 2
Всего: 2



У Вас не список, а словарь.
set(dc1) - set(dc2) - вернет все ключи из словаря dc1, отсутствующие в dc2
PM MAIL   Вверх
КунгФуЧайник
Дата 3.4.2013, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 10.8.2011

Репутация: нет
Всего: нет



Ага. Если бы каждый список состоял из одной колонки, тогда использовал бы list. А так - список, который dict:) На всякий случай уточнить: хочу попробовать пайтоном прочитать эксель-табличку. Записи таблички читать в dict? С языком и его типами только начинаю знакомиться.
PM MAIL   Вверх
Crafty
Дата 5.4.2013, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: нет
Всего: 14



Цитата(КунгФуЧайник @  3.4.2013,  08:50 Найти цитируемый пост)
Если бы каждый список состоял из одной колонки

Можно сделать список списков, как вариант
Код

dc1 = [[1,'шорты, 150'], [2, 'гавайка, 300'], [4,'шлепанцы, 100'] [5,'крем, 100']]
dc2 = [[1,'шорты, 150'], [2,'гавайка, 300',[5, 'крем, 100']]

хотя зависит от задачи, что удобнее список или словарь
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0923 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.