第四步是我真正需要答案的地方。在
为九条坦帕湾鳐鱼编一本字典。使用球员名称作为键和每个值的列表。这就是我所拥有的:
rays_players = { 'DeJesus': ['DH', 6, 299],
'Loney': ['1B', 4, 222],
'Rivera': ['C', 9, 194],
'Forsythe': ['2B', 5, 304],
'Souza Jr': ['RF', 2, 229],
'Longoria': ['3B', 3, 282],
'Cabrera': ['SS', 7, 214],
'Kiermaier': ['CF', 1, 240],
'Guyer': ['LF', 8, 274] }
每一个值列表都应该包含玩家所扮演的位置、击球顺序和当前击球平均值。见上文。
字典完成后,使用for循环显示字典键和值。这就是我得到的:这就是我拥有的:
for key in rays_players:
print(key, rays_players[key])
接下来,使用loop(s)打印“lineup”(按击球顺序排列的字典)。我如何订购这个?
for key in sorted(rays_players.items(), key=lambda v: (v)):
print ("%s: %s" % (key))
这是在正确的轨道上吗?
步骤4应该是这样的:
Batting 1: CF Kiermaier, current avg: 240
Batting 2: RF Souza Jr, current avg: 229
Batting 3: 3B Longoria, current avg: 282
Batting 4: 1B Loney, current avg: 222
Batting 5: 2B Forsythe, current avg: 304
Batting 6: DH DeJesus, current avg: 299
Batting 7: SS Cabrera, current avg: 214
Batting 8: LF Guyer, current avg: 274
Batting 9: C Rivera, current avg: 194
在一定程度上,如果对数据采用不适当的格式,可能会使问题变得更加困难(别担心,初学者通常会这样做)。所以你可能想问问自己字典是不是最合适的结构。在
第3步的排序方向是正确的,但是对于元素
key
你想按排序顺序排序,即key[1][1]
(顺便说一句,在遍历字典的条目时,这是一个糟糕的变量名选择)。在你应该找到这个发球排序和打印你的击球顺序:
不过,这并不能使sort键非常明显,因此您可能希望定义一个简单的类,该类允许您按名称引用播放器属性,如下所示:
^{pr2}$然后,您可以将玩家保留在如下列表中。在
这不仅使你在击球顺序上的排序更加明显,而且还允许你根据需要挑选出单独的属性。在
另一种格式化方法是使用更新的
.format()
string方法(它肯定是后移植到2.7,但我不知道它是否在早期的python2版本中):至于更新运行顺序,我想你需要找到一个具体的球员的名字,而不是简单地知道他们出现在名单上的位置。在
下面是一个小helper函数,它将为具有给定名称的玩家返回正确的列表索引:
应该显示
print
语句然后,可以使用此选项按以下方式更改播放器列表:
给出输出
相关问题 更多 >
编程相关推荐