iT邦幫忙

0

python list 如何來執行jieba.posseg

  • 分享至 

  • xImage

大家好,我目前有一個list長的像https://ithelp.ithome.com.tw/upload/images/20221229/20145896bQ0L5DYl4S.jpg
然後我想用jieba.posseg 把每個字分析出它的詞性後,再依詞性來進行排除或保留。
單純的文本,是可以做,
以下是單純的文本做法:
**import jieba.posseg as pseg
word = pseg.lcut("將原本films的外型設計為方型")
for w in word:
if w.flag in ["n"]:
print (w.word, w.flag)

結果:
原本 n
方型 n

如果我是從資料庫讀出多筆資後,先轉成list,但怎麼去把每個list做完pseg.lcut後保留要的詞性後再儲入我原本的list呢? 我一直無法再結合**

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
re.Zero
iT邦研究生 5 級 ‧ 2022-12-29 20:00:04
最佳解答

開頭我還看得懂,但,

如果我是從資料庫讀出多筆資後 ……

從這句後我就傻了~
(語意讓我混淆;
從資料庫讀出多筆資後,先轉成list 是 ListA:

  • 但怎麼去把每個list做完pseg.lcut後lcut(ListA[i])
  • 儲入我原本的list 是 ListB?

)

因為你沒說你要放入 list 是啥類型的物件~
所以我就列兩個方法,你自己判斷或修改吧~

## 
import jieba.posseg as pseg
## 
myStr = "將原本films的外型設計為方型"
print('■ Method01:')
myWordsOfN = list()
word = pseg.lcut(myStr)
for w in word:
    if w.flag in ["n"]:
        myWordsOfN.append(w)
print(myWordsOfN)
## 
print('■ Method02:')
myWordsOfN = list()
word = pseg.lcut(myStr)
for w in word:
    if w.flag in ["n"]:
        myWordsOfN.append(w.word)
print(myWordsOfN)
## 

另,請善用 Markdown 語法(編輯區左下方附有說明與詳細說明連結)

what0208 iT邦新手 5 級 ‧ 2022-12-30 08:07:08 檢舉

謝謝你,有試成功了~~

我要發表回答

立即登入回答