我想比较两个列表中的元素.两个列表都包含数字,并从最大到最小排序.我想找到编号最高的列表.如果它们包含相同的最高编号,我想查看下一个最高编号等.
如果我有一个清单: [14, 5, 4, 3, 2]
我将它与以下内容进行比较: [14, 7, 4, 3, 2]
第二个列表会更大,因为下一个最高的数字是7.
同样,如果我有一个清单: [13, 12, 9, 7, 3]
和: [13, 12, 9, 8, 2]
第二个将是两者中较大的一个.
任何帮助,将不胜感激!
我尝试了以下建议之一:
def compare_high_card(hand_a,hand_b):'''确定哪个牌有最高的牌,如果hand_a牌高,则返回1,如果hand_b有high_card,则返回-1:param hand_a:比较的第一手:param hand_b:第二个手比较:返回:1如果hand_a有更高的卡,-1如果hand_b有更高的卡'''
hand_a = sort_hand_by_value(hand_a)
hand_b = sort_hand_by_value(hand_b)
hand_length = 5
for index in range(hand_length):
if hand_a[index] > hand_b[index]:
higher_hand = 1
break
elif hand_b[index] > hand_a[index]:
higher_hand = -1
break
else:
higher_hand = 0
return higher_hand
Run Code Online (Sandbox Code Playgroud)
hand_a = [14,1,9,4,2] hand_b = [14,1,8,5,2,2]
此代码仅打印出-1.
如果列表已排序,只需执行以下操作:
a = [14, 5, 4, 3, 2]
b = [14, 7, 4, 3, 2]
print(a > b)
Run Code Online (Sandbox Code Playgroud)
参考:比较序列和其他类型:
"序列对象可以与具有相同序列类型的其他对象进行比较.比较使用词典排序:首先比较前两个项目,如果它们不同则确定比较的结果;如果它们相等,则接下来的两个项目进行比较,依此类推,直到任一序列耗尽为止"
| 归档时间: |
|
| 查看次数: |
108 次 |
| 最近记录: |