您的位置:

python字典替换难题(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不足以涵盖你的输入,所以只有中间那句是替换了