Уведомления

Группа в Telegram: @pythonsu

#1 Март 21, 2009 11:43:16

beliy_shum
От:
Зарегистрирован: 2009-03-11
Сообщения: 67
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите пожалуйста как сконструировать список

list1=[([item],[item2]) for item in prefs for item2 in prefs if item!=item2 ]
таким образом у меня в списке получаться все комбинации между элементами первого уровня многоуровнего словаря prefs.
а я хочу получить только уникальные.

if item!=item2 это всё что я смог придумать((((



Отредактировано (Март 21, 2009 11:51:10)

Офлайн

#2 Март 21, 2009 12:14:14

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите пожалуйста как сконструировать список

beliy_shum, опиши, пожалуйста, всё задачу, а есть кусок кода который работает но делает не совсем то что тебе нужно



Офлайн

#3 Март 21, 2009 13:15:32

kostyasa
От:
Зарегистрирован: 2008-12-15
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите пожалуйста как сконструировать список

beliy_shum
во-первых сравнение работает при двух знаках равно
item! == item2



Офлайн

#4 Март 21, 2009 13:31:12

beliy_shum
От:
Зарегистрирован: 2009-03-11
Сообщения: 67
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите пожалуйста как сконструировать список

есть словарь prefs ={'варрвр':45,'арр':458,'унуег':863,'аполдььт':456}
pythonwin
в новый словарь нужно записать все уникальные комбинации

ключей из словаря prefs

все эти уникальные комбинации нужно записать в список list1

kostyasa Стандартные операции сравнения записываются так же, как и в C: < (меньше чем), > (больше чем), == (равно), <= (меньше или равно), >= (больше или равно) и != (не равно). http://ru.wikibooks.org/wiki/%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA_Python_3.1#.D0.9F.D0.B5.D1.80.D0.B2.D1.8B.D0.B5_.D1.88.D0.B0.D0.B3.D0.B8_.D0.BA_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8E



Отредактировано (Март 21, 2009 13:49:23)

Офлайн

#5 Март 21, 2009 13:39:44

beliy_shum
От:
Зарегистрирован: 2009-03-11
Сообщения: 67
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите пожалуйста как сконструировать список

мне нужно получить все уникальные сочетания длиной два между ключами. 1, 2 и 2 ,1 считаются одинаковыми


как это сделать элегантно по питоновски?



Отредактировано (Март 21, 2009 14:12:37)

Офлайн

#6 Март 21, 2009 16:49:27

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

подскажите пожалуйста как сконструировать список

>>> l1 = [1, 2, 3, 4, 5]
>>> [(a, b) for a in l1 for b in l1 if a<b]
[(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5)]



Офлайн

#7 Март 21, 2009 17:15:53

beliy_shum
От:
Зарегистрирован: 2009-03-11
Сообщения: 67
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите пожалуйста как сконструировать список

Андрей Светлов
Хитрюга!
а если такой список : l=



Офлайн

#8 Март 21, 2009 18:58:16

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

подскажите пожалуйста как сконструировать список

Лентяй!
А попробовать?

>>> l=['ff',45,'ey']
>>> [(a, b) for a in l for b in l if a<b]
[(45, 'ff'), (45, 'ey'), ('ey', 'ff')]



Офлайн

#9 Март 21, 2009 19:15:19

beliy_shum
От:
Зарегистрирован: 2009-03-11
Сообщения: 67
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите пожалуйста как сконструировать список

!!!!!!!!!!!!!!!!!!!!!!!!!

>>> l=['ff',45, 'ey']
>>> [(a,b) for a in l for b in l if a<b]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <listcomp>
TypeError: unorderable types: str() < int()
>>>



Офлайн

#10 Март 21, 2009 19:33:00

ZAN
От:
Зарегистрирован: 2007-06-10
Сообщения: 403
Репутация: +  10  -
Профиль   Отправить e-mail  

подскажите пожалуйста как сконструировать список

beliy_shum
!!!!!!!!!!!!!!!!!!!!!!!!!
>>> l=['ff',45, 'ey']
>>> [(a,b) for a in l for b in l if a<b]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <listcomp>
TypeError: unorderable types: str() < int()
>>>
py3k?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version