zoo9815 2023-07-09 17:07 采纳率: 75%
浏览 21
已结题

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'}

  • 写回答

1条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-07-09 17:17
    关注

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

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月18日
  • 已采纳回答 7月10日
  • 创建了问题 7月9日

悬赏问题

  • ¥15 有偿求苍穹外卖环境配置
  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?
  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
  • ¥15 Android studio 无法定位adb是什么问题?
  • ¥15 C#连接不上服务器,