Форум сайта python.su
Есть 3 списка
a ='m','s,'d' название товара
b =23,2,100 кол-во товара
c=50,36,40 цена товара
Нужно сделать сортировку в 3 случаях по названию(1),по кол-ву(2) и по цене (3)
И чтобы выводилось на экран примерно так:
По цене:
Название товара m. Кол-во 23. Цена 50.
Название товара d. Кол-во 100. Цена 40.
Название товара s. Кол-во 2. Цена 36
Отредактировано pche1ovod (Дек. 7, 2017 19:18:27)
Офлайн
>>> a = ['m','s',"d"] >>> b = [23,2,100] >>> c = [50,36,40] >>> s = zip(a, b, c) >>> s [('m', 23, 50), ('s', 2, 36), ('d', 100, 40)] >>> sorted(s, key=lambda x: x[0]) [('d', 100, 40), ('m', 23, 50), ('s', 2, 36)] >>> sorted(s, key=lambda x: x[1]) [('s', 2, 36), ('m', 23, 50), ('d', 100, 40)] >>> sorted(s, key=lambda x: x[2]) [('s', 2, 36), ('d', 100, 40), ('m', 23, 50)] >>> for x in sorted(s, key=lambda x: x[2]): ... "tovar %s. kol %i. cena %i."%x ... 'tovar s. kol 2. cena 36.' 'tovar d. kol 100. cena 40.' 'tovar m. kol 23. cena 50.' >>>
Отредактировано Rodegast (Дек. 7, 2017 19:29:36)
Офлайн