rol*_*ton 2 python printing sorting list
我有以下问题.我创建了以下列表:
usinlist = [['strawberries', 2.05, 'rosales'],
['pineapples', 2.05, 'poales'],
['bananas', 2.05, 'zingiberales'],
['oranges', 2.05, 'sapindales'],
['apples', 2.05, 'rosales'],
['broccoli', 2.05, 'rosales'],
['cauliflower', 2.05, 'rosales'],
['cucumber', 2.05, 'cucurbitales'],
['lettuce', 2.05, 'asterales'],
['sprouts', 2.05, 'rosales']]
Run Code Online (Sandbox Code Playgroud)
我需要打印此列表并使用3元素usinlist [x] [x] [2]按字母顺序对其进行排序.我现在要排序的代码如下:
print('\n'.join('{}: {}'.format(*k) for k in sorted(usinlist, key=lambda k: (k[2], k[0], k[1]))))
Run Code Online (Sandbox Code Playgroud)
按字母顺序对种类/类型[2]进行排序后,它按字母顺序对水果/蔬菜名称进行排序,但出现的问题是它排序,但不打印列表完成.
输出如下:
lettuce: 2.05
cucumber: 2.05
pineapples: 2.05
apples: 2.05
broccoli: 2.05
cauliflower: 2.05
sprouts: 2.05
strawberries: 2.05
oranges: 2.05
bananas: 2.05
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我这里有什么问题:)?
您的格式字符串中只有两个占位符.尝试使用
print('\n'.join('{}: {} ({})'.format(*k) for k in sorted(usinlist, key=lambda k: (k[2], k[0], k[1]))))
Run Code Online (Sandbox Code Playgroud)
或者你需要的任何格式.
| 归档时间: |
|
| 查看次数: |
146 次 |
| 最近记录: |