Python for循环试图实现什么
这可能很简单,但有人能解释一下下面的内容是什么意思吗Python for循环试图实现什么,python,string,dictionary,tuples,Python,String,Dictionary,Tuples,这可能很简单,但有人能解释一下下面的内容是什么意思吗 def clean_param_value(self, value): for s, r in (('<', '{'), ('>', '}'), (' ', '_')): value.replace(s, r) 在for循环中,变量s和r被分配给它循环通过元组('''.'}')、(''''.''''.'''.''.'和r,分别作为元组中的第一个和第二个元素 然后它进行替换,最终替换第一个代码 用于s,r中
def clean_param_value(self, value):
for s, r in (('<', '{'), ('>', '}'), (' ', '_')):
value.replace(s, r)
在
for
循环中,变量s
和r
被分配给它循环通过元组('''.'}')、(''''.''''.'''.''.'
和r
,分别作为元组中的第一个和第二个元素
然后它进行替换,最终替换第一个代码
用于s,r中的((“您已经描述了发生的事情,那么您觉得困惑的是什么呢?这里大概缺少了值=
和返回值
,因为发布的代码不会替换任何内容。@MartijnPieters,感谢您指出它。进行了相应的编辑。您确实想说明函数的内容吗?”(大概)实现。就目前情况而言,发布的代码根本不会起任何作用。很高兴你展示了正确有效的方法,但你还没有真正回答问题。你知道在str
上有一个静态方法吗?@MartijnPieters,不,我不知道。再次感谢你。感谢你的澄清,非常感谢需要明确的是,OP提供的代码没有任何用处。假设value
是一个字符串,value.replace(s,r)
返回一个新字符串,但value
本身没有更改。
params = dict(
(item['ParameterName'],
self.clean_param_value(item['ParameterValue']))
for item in cursor.fetchall()
)
def clean_param_value(self, value):
for s, r in (('<', '{'), ('>', '}'), (' ', '_')):
# s, r = '<', '{' # 1st iteration
# s, r = '>', '}' # 2nd iteration
# s, r = ' ', '_' # 3rd iteration
value = value.replace(s, r)
return value
>>> import string
>>> tbl = string.maketrans('<> ', '{}_')
>>> '<hello world>'.translate(tbl)
'{hello_world}'
>>> tbl = str.maketrans('<> ', '{}_')
>>> '<hello world>'.translate(tbl)
'{hello_world}'
>>> rows = [
... {'name': 'dog', 'value': 'bow wow', 'other_value': 'blah'},
... {'name': 'cat', 'value': 'meow meow', 'other_value': 'other blah'},
... ]
>>> dict((item['name'], item['value']) for item in rows)
{'dog': 'bow wow', 'cat': 'meow meow'}
>>> dict((item['name'], clean_param_value(item['value'])) for item in rows)
{'dog': 'bow_wow', 'cat': 'meow_meow'}
>>> {item['name']: clean_param_value(item['value']) for item in rows}
{'dog': 'bow_wow', 'cat': 'meow_meow'}