博客
关于我
程序员都看不懂的代码
阅读量:789 次
发布时间:2023-01-23

本文共 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的多功能性有了更深的理解,也为今后的编程任务打下了坚实的基础。

转载地址:http://cieyk.baihongyu.com/

你可能感兴趣的文章
Problem G. The Stones Game【取石子博弈 & 思维】
查看>>
Java多线程
查看>>
openssl服务器证书操作
查看>>
我用wxPython搭建GUI量化系统之最小架构的运行
查看>>
selenium+python之切换窗口
查看>>
重载和重写的区别:
查看>>
搭建Vue项目步骤
查看>>
账号转账演示事务
查看>>
SpringBoot找不到@EnableRety注解
查看>>
在Vue中使用样式——使用内联样式
查看>>
Find Familiar Service Features in Lightning Experience
查看>>
Explore Optimization
查看>>
map[]和map.at()取值之间的区别
查看>>
【SQLI-Lab】靶场搭建
查看>>
【Bootstrap5】精细学习记录
查看>>
Struts2-从值栈获取list集合数据(三种方式)
查看>>
设计模式(18)——中介者模式
查看>>
推荐几篇近期必看的视觉综述,含GAN、Transformer、人脸超分辨、遥感等
查看>>
一文理解设计模式--命令模式(Command)
查看>>
VTK:可视化之RandomProbe
查看>>