python - 我怎样才能为每两个值做比较运算符?
问题描述
所以我需要在列表中使用大于来比较两个整数值。例如,
我有一个看起来像这样的列表:
elias 90
jo 100
elias 93
jo 73
我需要比较每两个值和
打印得分较高的人的姓名
所以我的预期结果是:
jo
elias
这就是我到目前为止所拥有的。我知道这是错误的,因为它不会计算每两个值。我被卡住了,不知道如何继续。帮助
for i in range(len(['total_votes'])):
previous_element= df['total_votes'][i-1]
if i > 0:
print("Donald Trump")
else:
print("Joe Biden")
解决方案
您可以使用跨步下标访问列表中的偶数和奇数条目。使用 zip 函数将它们组合并在列表理解中执行选择:
aList = [ ('elias',90), ('jo',100), ('elias',93), ('jo',73) ]
winners = [ name1 if score1>score2 else name2
for (name1,score1),(name2,score2) in zip(aList[::2],aList[1::2]) ]
print(winners) # ['jo', 'elias']
推荐阅读
- c# - 为什么我的代码在相机视图中的一个游戏对象被销毁时一次生成两个游戏对象(而不是一个)?
- ios - 在 Xcode 11,beta 2 的 Interface Builder 中指定条形颜色时,iOS 13 的 UITabBarItem 图标颜色不正确
- sas - 使用正则表达式删除宏变量括号内的文本
- python - 在随机矩阵中找到最可能的区域
- forms - 在 TYPO3 扩展中创建表单并处理结果
- php - 将 JSON 中的数组作为二维数组的数组或字符串返回
- android - 模拟电池状态
- python - 如何使这个 Python filterwarnings 语句起作用?
- syntax - 混合大小写,但保持一致
- sql - 我无法使用从案例表达式创建的唯一变量列表创建表