python - 从字符串集合中查找最大长度
问题描述
我正在努力解决另一个问题,但遇到了一个我不确定如何计算长度的步骤。
样本数据:
file_content = [
'"Track","Artist","Album","Time"',
'"Computer Love","Kraftwerk","Computer World","7:15"',
'"Paranoid Android","Radiohead","OK Computer","6:27"'
]
目标:
计算具有最长字符长度的行并返回该值。基本上,从集合中找到字符的总和和最大值dict.values()
。
我尝试使用嵌套推导,但我被困在某个地方。这是我到目前为止所尝试的:
import csv
rows = [r for r in csv.DictReader(file_content)]
max([sum(len(v)) for row in rows for v in row.values()])
解决方案
使用熊猫
由于 csv 包含表格结构,我们也可以使用 pandas。
import pandas as pd
可以使用 加载文件df = pd.read_csv(path)
,它返回以下 DataFrame:
Track Artist Album Time
Computer Love Kraftwerk Computer World 7:15
Paranoid Android Radiohead OK Computer 6:27
然后我们可以连接行并取组合字符串长度的最大值
df["Concat"] = [''.join(row.astype(str)) for row in df.values]
Track Artist Album Time Concat
Computer Love Kraftwerk Computer World 7:15 Computer LoveKraftwerkComputer World7:15
Paranoid Android Radiohead OK Computer 6:27 Paranoid AndroidRadioheadOK Computer6:27
df["Concat"].str.len().max()
#40
推荐阅读
- ios - 可以将 GIF 快速添加到标签栏项目吗
- azure-cosmosdb - Cosmos DB 中的更改数据捕获
- javascript - CSS nth-child 选择器不适用于 JS 创建的表
- swift - 如何在swift 5中的谷歌地图中设置标记标题文本大小
- java - 为什么在我的 Game.java 类中无法识别我的 windows 实例?
- r - 如何在情节中设置显示空间
- r - 如何在 C 中获取 R 的变量名(在 C 中替换)?
- javascript - 抓取动态创建的 XHR URL
- reactjs - 如何将 ReactJS 应用程序正确部署为 Azure Web 应用程序
- c - C 中的指针在这个算法中是如何工作的?