Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python映射字符串_Python_String - Fatal编程技术网

如何使用python映射字符串

如何使用python映射字符串,python,string,Python,String,这是我的代码: a= ''' ddwqqf{x}''' def b(): ... c=b(a,{'x':'!!!!!'}) print c 我想得到ddwqqf, 那么如何创建b函数 谢谢 更新: 但如何做到这一点: a= ''' ddwqqf{x},{'a':'aaaa'}''' c = a.format(x="!!!!!") d= open('a.txt','a') d.write(c) 它显示错误: Traceback (most recent call last):

这是我的代码:

a= ''' ddwqqf{x}'''
def b():
    ...

c=b(a,{'x':'!!!!!'})
print c
我想得到
ddwqqf,

那么如何创建
b
函数

谢谢

更新:

但如何做到这一点:

a= ''' ddwqqf{x},{'a':'aaaa'}'''

c = a.format(x="!!!!!")

d= open('a.txt','a')
d.write(c)
它显示错误:

Traceback (most recent call last):
  File "d.py", line 8, in <module>
    c = a.format(x="!!!!!")
KeyError: "'a'"
试一试

这适用于Python2.6或更高版本。当然,您不需要为此定义函数:

a = " ddwqqf{x}"
c = a.format(x="!!!!!")
就够了

编辑关于您的更新:

a = " ddwqqf{x},{{'a':'aaaa'}}"
避免替换第二对大括号

另一次编辑:我真的不知道你的字符串来自哪里,以及这一切的上下文是什么。一个解决办法可能是

import re
d = {"x_1": "1", "x_2": "2", "x_3": "3", "x_4": "4"}
re.sub(r"\{([a-z_0-9]+)\}", lambda m: d[m.group(1)], s)
其中
s
是您的字符串。

试试看

这适用于Python2.6或更高版本。当然,您不需要为此定义函数:

a = " ddwqqf{x}"
c = a.format(x="!!!!!")
就够了

编辑关于您的更新:

a = " ddwqqf{x},{{'a':'aaaa'}}"
避免替换第二对大括号

另一次编辑:我真的不知道你的字符串来自哪里,以及这一切的上下文是什么。一个解决办法可能是

import re
d = {"x_1": "1", "x_2": "2", "x_3": "3", "x_4": "4"}
re.sub(r"\{([a-z_0-9]+)\}", lambda m: d[m.group(1)], s)

其中
s
是您的字符串。

您想要实现什么?您的第二个示例非常混乱。我想将许多不同的变量映射到一个dict,并创建许多这样的dict。您想实现什么?你的第二个例子很混乱。我想把很多不同的变量映射成一个dict,然后像这样创建很多dict。你有没有其他方法来这样做,因为字符串非常大,如果我把{}改成{{},这对我来说是一项艰巨的工作。看updated2。你有没有其他方法来做这个,因为字符串非常大,如果我把{}改成{{},那对我来说是一项艰巨的工作。看看更新的2。