python字典 在key上使用正規表示式

2021-10-08 21:15:15 字數 1119 閱讀 6652

首先感謝

最近在做爬蟲的時候遇到乙個問題:

抓取到的網頁原始碼部分資料如下:

width

="308px"

>

title

="139798.5564萬美$元"

>

139798.5564萬美$元div

>

經過測試,中間的符號是隨機的。而我們的需求是把貨幣單位轉成字母縮寫,

雖然問題不大,可以通過replace的方式替換,但是如果符號種類特別多的時候,就會顯得非常麻煩。

於是乎想到用字典加正則的方式來解決這個問題,但用正則表示字典的key,還真沒有操作過。

在找了一些資料之後,發現了這個方法,很好解決了需求問題

from re import search, i

class

regexmap

:def

__init__

(self, n_dic, val)

: self._items = n_dic

self.__val = val

def__getitem__

(self, key)

:for regex in self._items.keys():

if search(regex, key, i)

:return self._items[regex]

return self.__val

使用例子:

fee_dic =

reg_fee_dic = regexmap(fee_dic,

none

)print

(reg_fee_dic[

'*美元'])

print

(reg_fee_dic[

'美^元'])

print

(reg_fee_dic[

'美元%'])

print

(reg_fee_dic[

'人民幣'])

# 輸出:

'usd'

'usd'

'usd'

none

python 字典key值報錯

報錯 typeerror unhashable type set 或 typeerror unhashable type list 原因 python的字典型別的key不支援set或list,set裡面的物件是hash儲存,如果儲存乙個list物件,而後改變了list物件,那set中剛才儲存的值的h...

python禁止字典key排序

import collections data collections.ordereddict data b 3 data a 1 data jsonify d return make response data,200 1.正常的python dict是按字母順序排序的,所以要使用orderedd...

python 字典之一key 多值

python字典,鍵值對,但是有時候我們需要一鍵對應多個值,那麼怎麼辦呢?例如 test.txt文件中的內容如下 1 key1 2 key2 3 key1 7 key3 8 key2 10 key1 14 key2 19 key4 20 key1 30 key3 現在要統計,每個key包含哪些序號,...