2019-04-26 10:27
采纳率: 100%
浏览 1.7k
已采纳

python将一维列表按照“\n”分为多个列表

['政法政法学院', '政法法学', '政法法学院', '政法学院', '政法学院政法学院', '政法学院法学', '政法学院法学院', '政法学院学院', '法学政法学院', '法学法学', '法学法学院', '法学学院', '法学院政法学院', '法学院法学', '法学院法学院', '法学院学院', '\n', '语言与', '语言传播', '语言传播学', '语言传播学院', '语言学院', '与与', '与传播', '与传播学', '与传播学院', '与学院', '传播与', '传播传播', '传播传播学', '传播传播学院', '传播学院', '传播学与', '传播学传播', '传播学传播学', '传播学传播学院', '传播学学院', '传播学院与', '传播学院传播', '传播学院传播学', '传播学院传播学院', '传播学院学院', '\n', '音乐音乐系', '\n', '现代教育', '现代技术', '现代中心', '教育教育', '教育技术', '教育中心', '技术教育', '技术技术', '技术中心', '\n', '教育督导', '教育评估', '教育研究', '教育中心', '督导督导', '督导评估', '督导研究', '督导中心', '评估督导', '评估评估', '评估研究', '评估中心', '研究督导', '研究评估', '研究研究', '研究中心', '\n']
预期结果为
['政法政法学院', '政法法学', '政法法学院', '政法学院', '政法学院政法学院', '政法学院法学', '政法学院法学院', '政法学院学院', '法学政法学院', '法学法学', '法学法学院', '法学学院', '法学院政法学院', '法学院法学', '法学院法学院', '法学院学院']
['语言与', '语言传播', '语言传播学', '语言传播学院', '语言学院', '与与', '与传播', '与传播学', '与传播学院', '与学院', '传播与', '传播传播', '传播传播学', '传播传播学院', '传播学院', '传播学与', '传播学传播', '传播学传播学', '传播学传播学院', '传播学学院', '传播学院与', '传播学院传播', '传播学院传播学', '传播学院传播学院', '传播学院学院']
['音乐音乐系'']
['现代教育', '现代技术', '现代中心', '教育教育', '教育技术', '教育中心','教育技术','教育中心','技术教育','技术技术','技术中心']
这样的预期结果,尝试了将列表转化为字符串类型,用split(“\n”)进行划分,这种方式不对,所以想问问大家,感谢

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 502203305 2019-04-26 11:08
    已采纳

    按照你的想法可以
    通过'str1 = \n'.join(list1)将原始的集合转化为string。
    然后lists = str1.split('\n\n')分为多个集合。
    然后seps = [i.split('\n') for i in lists]
    然后seps就是你的结果了。这种有点麻烦。
    可以通过。

    lists = [[]]
    index = 0
    for i in list1:
        if i == '\n':
            index+=1
            lists.append([])
        else:
            lists[index].append(i)
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • weixin_44981235 2019-04-26 13:39

    list1 = ['政法政法学院', '政法法学', '政法法学院', '政法学院', '政法学院政法学院', '政法学院法学', '政法学院法学院', '政法学院学院', '法学政法学院', '法学法学', '法学法学院', '法学学院', '法学院政法学院', '法学院法学', '法学院法学院', '法学院学院', '\n', '语言与', '语言传播', '语言传播学', '语言传播学院', '语言学院', '与与', '与传播', '与传播学', '与传播学院', '与学院', '传播与', '传播传播', '传播传播学', '传播传播学院', '传播学院', '传播学与', '传播学传播', '传播学传播学', '传播学传播学院', '传播学学院', '传播学院与', '传播学院传播', '传播学院传播学', '传播学院传播学院', '传播学院学院', '\n', '音乐音乐系', '\n', '现代教育', '现代技术', '现代中心', '教育教育', '教育技术', '教育中心', '技术教育', '技术技术', '技术中心', '\n', '教育督导', '教育评估', '教育研究', '教育中心', '督导督导', '督导评估', '督导研究', '督导中心', '评估督导', '评估评估', '评估研究', '评估中心', '研究督导', '研究评估', '研究研究', '研究中心', '\n']
    n_index = []
    for i in range(0, len(list1)):
    if list1[i] == "\n":
    n_index.append(i)
    print("\n index:", n_index)
    result = []
    start_index = 0
    for j in range(0, len(n_index)):
    index = n_index[j]
    if j == len(n_index)-1:
    child_list = list1[start_index: ]
    else:
    child_list = list1[start_index: index]
    start_index = index+1
    if '\n' in child_list:
    child_list.remove('\n')
    result.append(child_list)
    for child in result:
    print(child)

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题