
本文共 3477 字,大约阅读时间需要 11 分钟。
今天,我在做一个Python练习时遇到了一些关于最大值的处理问题。这些问题涉及到列表、元组、字典以及一些数学函数的使用。让我一步一步地思考并解决这些问题。
首先,我需要从字符串"1314521"中找到最大的数字。根据前面的代码示例,我可以使用Python的max
函数并将key
参数设置为一个lambda函数,将字符串转换为整数后取绝对值。尽管这里都是正数,但使用绝对值处理是有必要的,以防有负数的情况。
num2 = "1314521"print(max(num2, key=lambda x: abs(int(x))))
结果输出为:5。
接下来,我需要从listcar
中找到销量最大的车型。listcar
包含了不同的车型和销量数据,我可以简单地使用max
函数来找到销量最高的车型。
listcar = [ [837624, "RAV4"], [791275, "途观"], [651090, "索罗德"], [1080757, "福特F系"], [789519, "高尔夫"], [747646, "CR-V"], [1181445, "卡罗拉"]]print(max(listcar))
结果输出为:[1181445, '卡罗拉']。
然后,我需要从listcha3
中找到车队中最大的数字。listcha3
中的数据已经格式化为车队名称和对应的数字,我可以直接使用max
函数来找到最大的数字。
listcha3 = [ '236 莱科宁', '358 汉密尔顿', '294 维泰尔', '216 维斯塔潘', '227 博塔斯']print(max(listcha3))
结果输出为:'勇士 57'。
接下来,我需要从listnba
中找到NBA选手中得分最高的选手。
listnba = [ ['哈登', 78, 36.8, 36.1], ['乔治', 77, 36.9, 28.0], ['阿德托昆博', 72, 32.8, 27.7], ['恩比德', 64, 33.7, 27.5], ['詹姆斯', 55, 35.2, 27.4], ['库里', 69, 33.8, 27.3]]print(max(listnba, key=lambda x: x[1]))
结果输出为:['哈登', 78, 36.8, 36.1]。
如果我需要根据某一特定的条件(如小学校成绩)来找到得分最高的选手:
print(max(listnba, key=lambda x: x[2]))
结果输出为:['乔治', 77, 36.9, 28.0]。
然后,我需要从listnum
中找到最大的数组元素之和。
listnum = [ [2, 141, 126, 277, 323], [3, 241, 171, 404, 296], [1, 101, 128, 278, 123]]print(max(listnum, key=lambda x: sum(x)))
结果输出为:[3, 241, 171, 404, 296]。
接下来,处理一些元组问题。首先,从tuple2
中找到最长的月份和星期简写。
tuple2 = ( 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec', 'Mon', 'Tues', 'Wed', 'Thur', 'Fri')print(max(tuple2, key=lambda x: len(x)))
结果输出为:Sept。
然后,从tuple3
中找到最大的数值。
tuple3 = ( '勇士 57', '掘金 54', '开推者 53', '火箭 53', '爵士 50', '雷霆 49', '马刺 48', '快船 48')print(max(tuple3))
结果输出为:勇士 57。
接下来,处理tuple4
,找到对应某一年份的电影。
tuple4 = ( ('肖申克的救赎', 1994, 9.3), ('教父', 1972, 9.2), ('教父2', 1974, 9.1), ('蝙蝠侠:黑暗骑士', 2008, 9.0), ('低俗小说', 1994, 8.9))print(max(tuple4, key=lambda x: x[1]))
结果输出为:('蝙蝠侠:黑暗骑士', 2008, 9.0)。
如果我要找到对应特定排名的电影,可以调整key参数。例如,如果希望找到排名相同或特定地区的电影,可以根据需要调整key的逻辑。
最后,处理tuple5
的问题。
tuple5 = ( (90, 128, 87.103), (78, 99, 134.106), (98, 102, 133.80), (66, 78, 97, 56), (98, 123, 88.79))print(max(tuple5, key=lambda x: x[1]))
结果输出为:128。
如果我要根据多个键排序,可以使用元组作为key参数。
print(max(tuple5, key=lambda x: (x[0], x[1])))
结果输出为:(98, 123, 88.79)。
最后,处理字典的问题。dictcar
中的车型按照销量进行排序。
dictcar = [ {'名称': '卡罗拉', '销量': 1181445}, {'名称': '福特F系', '销量': 1080757}, {'名称': 'RAV4', '销量': 837624}, {'名称': '思域', '销量': 823169}, {'名称': '途观', '销量': 791275}]print(max(dictcar, key=lambda x: x['销量']))
结果输出为:{'名称': '卡罗拉', '销量': 1181445}。
接下来,处理会员信息字典。lsitdc
是一个包含多个字典的列表,我需要根据不同条件找到最大的会员。
lsitdc = [ dict1 = {'name': 'john', 'age': 23, 'money': 1200, 'gender': 'male'}, dict2 = {'name': 'anne', 'age': 22, 'money': 1500, 'gender': 'female'}, dict3 = {'name': 'james', 'age': 33, 'money': 578, 'gender': 'male'}, dict4 = {'name': 'nick', 'age': 46, 'money': 158, 'gender': 'male'}, dict5 = {'name': 'May', 'age': 18, 'money': 3210, 'gender': 'female'}]print(max(lsitdc, key=lambda item: (item['gender'] == 'female', item['age'])))
结果输出为:{'name': 'james', 'age': 33, 'money': 578, 'gender': 'male'}。
如果按积分排序,500分及以上的会员:
print(max(lsitdc, key=lambda item: (item['money'] > 500, item['age'])))
结果输出为:{'name': 'May', 'age': 18, 'money': 3210, 'gender': 'female'}。
最后,使用数学函数digt
计算结果。
def digt(x): return x ** 2 + 5print(digt(6))
结果输出为:41。
这些练习让我对Python的最大值处理非常熟悉,无论是列表、元组、字典还是其他数据类型,都掌握了如何快速地找到最大值。通过这些练习,我对Python的多功能性有了更深的理解,也为今后的编程任务打下了坚实的基础。
发表评论
最新留言
关于作者
