我是python的新手。我只是想知道,你如何使输出看起来干净整洁?因为我的搜索和排序函数输出看起来像这样
"[{u'id': 1,
u'name': u'ProPerformance',
u'price': u'$2000',
u'type': u'Treadmill'},
{u'id': 2, u'name': u'Eliptane', u'price': u'$1500', u'type': u'Elliptical'},
{u'id': 5,
u'name': u'SupremeChest',
u'price': u'$4000',
u'type': u'Chest Press'},
{u'id': 12, u'name': u'PowerCage', u'price': u'$5000', u'type': u'Squat'}]
---Sorted by Type---
[{u'id': 5,
u'name': u'SupremeChest',
u'price': u'$4000',
u'type': u'Chest Press'},
{u'id': 2, u'name': u'Eliptane', u'price': u'$1500', u'type': u'Elliptical'},
{u'id': 12, u'name': u'PowerCage', u'price': u'$5000', u'type': u'Squat'},
{u'id': 1,
u'name': u'ProPerformance',
u'price': u'$2000',
u'type': u'Treadmill'}]
我希望我的输出看起来像这样
"RunPro $2000 Treadmill
Eliptane $1500 Elliptical
SupremeChest $4000 Chest Press
PowerCage $5000 Squat”
---Sorted by Type---
RunPro $2000 Chest Press
Eliptane $1500 Elliptical
SupremeChest $4000 Squat
PowerCage $5000 Treadmill”
有人可以帮帮我吗?我一直试图想出这个问题就像一个小时一样,这真的让我很紧张,任何帮助都会非常感激。 这是我的代码
def searchEquipment(self,search):
foundList = []
workoutObject =self.loadData(self.datafile)
howmanyEquipment = len(workoutObject["equipment"])
for counter in range(howmanyEquipment):
name = workoutObject["equipment"][counter]["name"].lower()
lowerCaseSearch = search.lower()
didIfindIt = name.find(lowerCaseSearch)
if didIfindIt >= 0:
foundList.append(workoutObject["equipment"][counter])
return foundList
def sortByType(self,foundEquipment):
sortedTypeList = sorted(foundEquipment, key=itemgetter("type"))
return sortedTypeList
我尝试将foundList.append(workoutObject["equipment"][counter])
替换为workoutObject["equipment"][counter]["name"]
,但这会影响我的排序功能。
感谢
答案 0 :(得分:4)
简短的回答是研究string formatting operations in Python。如果你看那里你可以找出如何根据你的需要格式化不同的数据类型。
更长的答案,基本上会让我们为您编写代码,但作为初学者:
for equip in sortedTypeList:
print '{0} {1} {2}'.format(equip['name'],equip['price'],equip['type'])