weixin_44267587
2019-04-25 17:52
采纳率: 100%
浏览 2.5k

用python实现单个列表中元素与元素之间的合并,列表中的最后一个元素为所有元素的组合

text=[["政法学院"],["语言与传播学院"]]
split_text=[["政法","政法学院","法学","法学院","学院"],["语言","与","传播","传播学","传播学院","学院"]]
想要的结果:[["政法政法学院","政法法学","政法法学院","政法学院","政法学院法学","政法学院法学院","政法学院学院","法学法学院","法学院学院",“政法政法学院法学法学院学院”],["语言与","语言传播","语言传播学","语言传播学院","语言学院","与传播","与传播学","与传播学院","与学院","传播传播学","传播传播学院","传播学院","传播学传播学院","传播学学院","传播学院学院","语言与传播传播学传播学院学院"]
我写出来了两两的合并,但是不知道怎么存入二维列表列表中,长度怎么定义呢
import re
text=[["政法学院"]["现代教育技术中心"]]
split_text=[["政法","政法学院","法学","法学院","学院"],["现代","教育","技术","中心"]]
all_words=[]

total_text=[]
for i in range(len(text)):
for j in range(len(text[i])):
all_words.append(text[i][j])
#print(all_words)
#all_words的结果为['政法学院', '现代教育技术中心']
for i in range(len(split_text)):
a=split_text[i]
for j in range(len(a)-1):
for q in range(1,len(a)):
print(a[j]+a[q])
这个是我的代码,结果是
政法政法学院
政法法学
政法法学院
政法学院
政法学院政法学院
政法学院法学
政法学院法学院
政法学院学院
法学政法学院
法学法学
法学法学院
法学学院
法学院政法学院
法学院法学
法学院法学院
法学院学院
现代教育
现代技术
现代中心
教育教育
教育技术
教育中心
技术教育
技术技术
技术中心
怎么存入二维列表中呢 求解答 感谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • caozhy
    已采纳
    # encoding: utf-8
    
    def applyfunc(a):
        r = list(map(lambda (x, y) : x + y, zip(a[0:-1],a[1:])))
        r.append(''.join(a))
        return r
    
    if __name__ == "__main__":
        split_text = [["政法","政法学院","法学","法学院","学院"],["语言","与","传播","传播学","传播学院","学院"],["现代","教育","技术","中心"]]
        result = map(applyfunc, split_text)
        print(unicode(';'.join(map(lambda x:','.join(x), result)), encoding="utf-8"))
    

    政法政法学院,政法学院法学,法学法学院,法学院学院,政法政法学院法学法学院学院;语言与,与传播,传播传播学,传播学传播学院,传播学院学院,语言与传播传播学传播学院学院;现代教育,教育技术,技术中心,现代教育技术中心

    # encoding: utf-8
    
    import itertools
    
    def applyfunc(a):
        r = list(map(lambda (x, y) : x + y, filter(lambda (x, y) : x != y, itertools.product(a, a))))
        r.append(''.join(a))
        return r
    
    if __name__ == "__main__":
        split_text = [["政法","政法学院","法学","法学院","学院"],["语言","与","传播","传播学","传播学院","学院"],["现代","教育","技术","中心"]]
        result = map(applyfunc, split_text)
        print(unicode(';'.join(map(lambda x:','.join(x), result)), encoding="utf-8"))
    

    政法政法学院,政法法学,政法法学院,政法学院,政法学院政法,政法学院法学,政法学院法学院,政法学院学院,法学政法,法学政法学院,法学法学院,法学学院,法学院政法,法学院政法学院,法学院法学,法学院学院,学院政法,学院政法学院,学院法学,学院法学院,政法政法学院法学法学院学院;语言与,语言传播,语言传播学,语言传播学院,语言学院,与语言,与传播,与传播学,与传播学院,与学院,传播语言,传播与,传播传播学,传播传播学院,传播学院,传播学语言,传播学与,传播学传播,传播学传播学院,传播学学院,传播学院语言,传播学院与,传播学院传播,传播学院传播学,传播学院学院,学院语言,学院与,学院传播,学院传播学,学院传播学院,语言与传播传播学传播学院学院;现代教育,现代技术,现代中心,教育现代,教育技术,教育中心,技术现代,技术教育,技术中心,中心现代,中心教育,中心技术,现代教育技术中心

    点赞 评论

相关推荐