len()如何获取最大字符串长度?

“最大政策title长度是: 2”这个输出明显不对啊,随便哪个标题长度都超过2了,这个代码怎么改呀?


# 用于记录政策title每个单词对应哪个序号
policy_titles = {}
#记录政策名字包含的单词最大数量
max_title_length = 0
# 对不同的单词从1 开始计数
t_count = 1
# 按行读取数据并处理
for item in data:
    item = item.strip().split(",")
    # 1. 获得政策的ID信息
    v_id = item[0]
    v_title = item[1]
    v_year = item[3]
    titles = v_title.split()
    # 获得title最大长度
    max_title_length = max((max_title_length, len(titles)))
    
    # 2. 统计政策名字的单词,并给每个单词一个序号,放在policy_titles中
    for t in titles:
        if t not in policy_titles:
            policy_titles[t] = t_count
            t_count += 1
            
    v_tit = [policy_titles[k] for k in titles]
    # 保存政策ID数据和title数据到字典中
    policy_info[v_id] = {'pol_id': int(v_id),
                        'title': v_tit,
                        'years': str(v_year)}
    
print("最大政策title长度是:",  max_title_length)
ID = 1
# 读取第一条数据,并打印
item = data[0]
item = item.strip().split(",")
print("政策 ID:", item[0])
print("政策 title:", item[1])
print("ID为1 的电影数据是:", policy_info['1'])

输出:
最大政策title长度是: 2
政策 ID: 1
政策 title: 国务院办公厅关于印发新能源汽车产业发展规划(2021—2035年)的通知
ID为1 的电影数据是: {'pol_id': 1, 'title': [1], 'years': '2020.10.20'}

用法没问题,问题出在你这个 v_title.split() 上面, split是字符分割函数, 结果是列表;
至于 最大是 2 ,那就是你有个标题里面是空白字符(空格、制表符、换行符等)作为分隔符,这是split 默认的分割符
像这样:

img