Форум сайта python.su
list1=[([item],[item2]) for item in prefs for item2 in prefs if item!=item2 ]
Отредактировано (Март 21, 2009 11:51:10)
Офлайн
beliy_shum, опиши, пожалуйста, всё задачу, а есть кусок кода который работает но делает не совсем то что тебе нужно
Офлайн
beliy_shum
во-первых сравнение работает при двух знаках равно
item! == item2
Офлайн
есть словарь 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)
Офлайн
мне нужно получить все уникальные сочетания длиной два между ключами. 1, 2 и 2 ,1 считаются одинаковыми
как это сделать элегантно по питоновски?
Отредактировано (Март 21, 2009 14:12:37)
Офлайн
>>> 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)]
Офлайн
Андрей Светлов
Хитрюга!
а если такой список : l=
Офлайн
Лентяй!
А попробовать?
>>> l=['ff',45,'ey']
>>> [(a, b) for a in l for b in l if a<b]
[(45, 'ff'), (45, 'ey'), ('ey', 'ff')]
Офлайн
!!!!!!!!!!!!!!!!!!!!!!!!!
>>> 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()
>>>
Офлайн
beliy_shumpy3k?
!!!!!!!!!!!!!!!!!!!!!!!!!>>> 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()
>>>
Офлайн