python 编程问题

    import jieba
    a ='我爱北京天安门'
    #[print(i) for  i  in  jieba.cut(a)]
    cw =jieba.cut(a)
    a=''
    for i in cw:
        i += ' '
    print(i)

出来的结果为什么不是“我 爱 北京 天安门” 而是“天安门”?

如果我想出来的效果是字符串“我 爱 北京 天安门” 该如何写?我按照下面的样子写了,但是末尾多了一个空格?尽管如此,我觉得下面我的写法也很不优美。请求优美的方式?

    a ='我爱北京天安门'
    #[print(i) for  i  in  jieba.cut(a)]
    cw =jieba.cut(a)
    a=''
    for i in cw:
        a +=  i+' '
    print(a)
阅读 1.6k
2 个回答

前一个代码有误吧?for循环里写成了i而不是a,所以每次循环并没有保留上一次,到最后就只有“天安门 ”了
后一个,用for循环每次增加分词时也都加上了空格,所以末尾会多一个空格。
优美的方式:
我不知道jieba分词返回的(即这里的cw变量)是不是list,如果是的话,直接:

' '.join(cw)

即可

>>>seg_list='我爱北京天安门'
>>>print('/'.join(jieba.cut(seg_list,cut_all=False)))

>>>我/爱/北京/天安门
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题