本文目錄一覽:
- 1、python 字典問題
- 2、python 字典 替換文本多行 求高手解答 代碼最好清晰效率高 詳見問題補充
- 3、關於Python的字典替換的問題
- 4、python如何遍歷多鍵值的字典並使用對應鍵的值來替換?
python 字典問題
letterCounts[letter] = letterCounts.get (letter, 0) + 1
這個是計數的常見寫法,意思是如果letter沒有在字典里存在,那麼就返回0,這個0相當於一個初始化的值.
在比較複雜的初始化默認值個人建議應該使用collections.defaultdict來替代字典.
如果改一下,可以變成
import collections
letterCounts = collections.defaultdict( int )
for letter in “Mississippi”:
letterCounts[ letter ] += 1
print( letterCounts )
python 字典 替換文本多行 求高手解答 代碼最好清晰效率高 詳見問題補充
#coding=utf-8
”’
Created on 2014-11-20
@author: Neo
”’
todo = {
10: {‘AAAA’: ‘1.1.1.1’},
20: {‘BBBB’: ‘bbbbb’},
30: {‘#’: ”},
}
fp = open(‘test.txt’)
data = ”
i = 0
for line in fp.readlines():
i += 1
if i in todo.keys():
print ‘line’, i, line
for key in todo[i]:
line = line.replace(key, todo[i][key])
print ‘after replace:’, line
data += line
fp.close()
#保存在另一個文件
ret = open(‘result.txt’,’w+’)
ret.write(data)
ret.close()
result:
line 10 AAAA
after replace: 1.1.1.1
line 20 BBBB
after replace: bbbbb
line 30 A##AA####A
after replace: AAAA
關於Python的字典替換的問題
我的思路是:正則匹配 數字/字符串 然後替換,具體操作的話,你最好能把問題描述再清楚些。
python如何遍歷多鍵值的字典並使用對應鍵的值來替換?
dict = {(‘絲印兩處’, ‘絲印二處’, ‘絲印兩道’, ‘絲印二道’, ‘絲印2道’): ‘絲印2處’, (‘絲印三處’, ‘絲印三道’, ‘絲印3道’): ‘絲印3處’}
ss = [“黑色MI0000C-BK002 含三道絲印”, “黑色MI0000C-BK002 含絲印三道”, “黑色MI0000C-BK002 含3道絲印”]
for s in ss:
for k, v in dict.items():
for src in k:
s = s.replace(src, v)
print(s)
注意:你的dict不足以涵蓋你的輸入,所以只有中間那句是替換了
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/258710.html