为了账号安全,请及时绑定邮箱和手机立即绑定

如何在这里找到最长的字符串?

如何在这里找到最长的字符串?

宝慕林4294392 2021-05-30 07:20:35
我正在尝试使用以下代码在嵌套列表中找到最长的字符串table_data = [['apples', 'oranges', 'cherries', 'banana'],             ['Alice', 'Bob', 'Carol', 'David'],             ['dogs', 'cats', 'moose', 'goose']]cnt = [""]*3for tab in range(len(table_data)):    for liel in table_data[tab]:        if len(liel) > len(cnt[tab]):            cnt[tab]=lielprint(cnt)# ['cherries', 'Alice', 'moose']上面的代码返回的是每个列表中最长的字符串,但我认为它的代码很长,有没有其他方法可以做到这一点?期待任何使用列表理解或函数的方法来做到这一点
查看完整描述

2 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

期望使用列表理解来做到这一点


是的,列表理解是一个不错的选择。


>>> [max(row, key=len) for row in table_data]

['cherries', 'Alice', 'moose']


查看完整回答
反对 回复 2021-06-01
?
浮云间

TA贡献1829条经验 获得超4个赞

实现结果的另一种方法是使用该map函数,尽管这不使用列表理解:


table_data = [['apples', 'oranges', 'cherries', 'banana'],

             ['Alice', 'Bob', 'Carol', 'David'],

             ['dogs', 'cats', 'moose', 'goose']]


output = list(map(lambda data: max(data, key=len),table_data))

print(output)

输出:


['cherries', 'Alice', 'moose']


查看完整回答
反对 回复 2021-06-01
  • 2 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号