我已經看到了這個問題,但它似乎不適合我的特定用例。
我有一個名為白名單的檔案,我在其中保存了一個數字,該數字指示設備型別和此類設備的 ID。格式類似于37423 = -212, -210, 276在這種情況下,其中37423是設備型別-212, -210, 276的編號和ID。
現在,我有一個代碼可以掃描此類檔案并將 ID 添加到串列中:
if not(manufacturedid in whitelist):
whitelist[manufacturedid] = list()
for d in deviceid:
tmp_d = re.sub(r'\W ', '', d)
if not (tmp_d in whitelist[manufacturedid]):
whitelist[manufacturedid].append(tmp_d)
這里manufacturedid是37423和tmp_d有-212, -210, 276
我的問題是,當它.append(tmp_d)是一個負數,將其轉換成一個積極的,我不明白為什么作為tmp_d在if not宣告應該是否定的為好。
編輯:我認為這個問題在for d回圈中,因為d結果總是積極的
uj5u.com熱心網友回復:
你做到了
tmp_d = re.sub(r'\W ', '', d)
當您處理 ASCII 文本時,我們可以說\W很簡單[^a-zA-Z0-9_],因此它也是匹配和洗掉-,例如
import re
print(re.sub(r'\W ', '', '-212'))
輸出
212
讀蟒蛇re內置模塊的檔案,如果你想了解更多有關\W。
uj5u.com熱心網友回復:
它不是追加,但re.sub(r'\W ', '', d)它是tmp_d積極的。除錯有助于解決此類問題。如果輸出不是您所期望的。首先檢查輸入。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/310999.html
標籤:Python
下一篇:計算超出限制的連續行
