首先感謝
最近在做爬蟲的時候遇到乙個問題:
抓取到的網頁原始碼部分資料如下:
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包含哪些序號,...