Форум сайта python.su
0
Всем привет!
Возникла необходимость удалить у каждого элемента в списке определенный знак. Например,
l = ['4.6$', '5.2$', '3$']
Отредактировано GGnoob (Окт. 3, 2013 11:43:12)
Офлайн
6
ничего не понял. может быть, что-то типа так:
[float(x.replace('l =','')) for x in lst]Отредактировано wbt (Окт. 3, 2013 11:30:40)
Офлайн
0
wbtНе заметил, что пример не отпечатался
ничего не понял. может быть, что-то типа так:
. Теперь думаю намного яснее?)
Офлайн
0
[float(x[:-1]) for x in l]
Офлайн
0
jcrowДа, оно. Спасибо!
[float(x) for x in l]
оно?
Офлайн
6
> Как подобное можно реализовать?
Сделать сортировку со своей функцией (обычной или lambda), и потом снять верхний элемент списка.
В случае словаря это будет что-то типа такого:
sorted(big_dict, key=lambda x: (x['cena'], x['comis']))
x[0], x[1]
Отредактировано wbt (Окт. 3, 2013 12:47:37)
Офлайн
0
wbtПоследний, скорее всего:
> или какой надо
sorted(big_dict, key=lambda x: (x['cena'], x['comis']))[-1:]
Офлайн
33
wbtможно функцией max найти наибольшее, если таких элементов больше 1, то найти наивысшую комиссию
Сделать сортировку со своей функцией
Отредактировано Budulianin (Окт. 3, 2013 13:42:34)
Офлайн
0
wbtА не могли бы объяснить словами подобную запись?) Честно сказать, не до конца улавоиваю логики.
Сделать сортировку со своей функцией (обычной или lambda), и потом снять верхний элемент списка.
В случае словаря это будет что-то типа такого:
sorted(big_dict, key=lambda x: (x, x))
BudulianinА как найти наивысшую комиссию, и при этом запомнить нужную строку?
можно функцией max найти наибольшее, если таких элементов больше 1, то найти наивысшую комиссию
Офлайн
6
А не могли бы объяснить словами подобную запись?) Честно сказать, не до конца улавоиваю логики.
sorted - сортировка
big_dict - словарь
key = функция для ключа. можно напсисать функцию, а можно использовать лямбду
lambda x: (a,b) - кортеж, который возвращается, первым значением идёт цена, вторым - комиссия. По этому принципу они и будут сортироваться
Офлайн