python - 如何在这里找到最长的字符串?
问题描述
我正在尝试使用以下代码在嵌套列表中查找最长的字符串
table_data = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
cnt = [""]*3
for tab in range(len(table_data)):
for liel in table_data[tab]:
if len(liel) > len(cnt[tab]):
cnt[tab]=liel
print(cnt)
# ['cherries', 'Alice', 'moose']
上面的代码是返回每个列表中最长的字符串,但我认为它的代码很长,有没有其他方法可以做到这一点?
期待任何使用列表理解或函数的方法来做到这一点
问候
解决方案
期待任何使用列表理解的方法来做到这一点
是的,列表理解是一个不错的选择。
>>> [max(row, key=len) for row in table_data]
['cherries', 'Alice', 'moose']
推荐阅读
- java - 在文本文件中搜索单词
- javascript - 如何在 redux reducer 中删除购物车项目?
- android - script.sh:第 1 行:./gradlew:Jenkins 上没有这样的文件或目录
- sqlite - Xamarin 表单 sql lite 表添加外键约束
- css - 如何使反应组件内的 div 的背景透明?
- java - 使用 JSF 将 Arraylist 拆分为多列
- javascript - JavaScript 的 .setSelectionRange() 与 React Hooks 不兼容吗?
- python - 通过列表中的值引用列表中字典的最快方法?
- java - 在春季运行持久性测试(JUnit)时出错
- reactjs - 导航链接上的 activeClassName 不起作用 - 反应