看起来很简单,但我认为对象超出了范围! 我有一个构造字典的函数-
def fill_dictionary(d_list,n_pat):
my_dict = {}
my_text = []
my_list = []
f_list = []
tmp_list = []
for word in d_list:
if not(re.search(r'\#',word)) and not (re.search(r'ecl_attribute_def\ ecl_job_attr_def\[\]',word)):
tmp_list.append(word)
my_text = ''.join(tmp_list)
l = []
l = my_text.split(";")
for x in l:
my_list =[item.strip() for item in x.split("|")]
my_dict = {my_list[0]:my_list[1:]}
return my_dict
从主函数调用-
attr_d = {}
for line in tmplf:
skipped_blocks_ecl_tmpl.append(line)
attr_d = fill_dictionary(skipped_blocks_ecl,new_pattern)
但是现在我想用这个字典(attr\u d)替换文件中的值。你知道吗
for line in skipped_blocks_ecl:
for i, j in attr_d.iteritems():
print i, "=" ,j
if line == attr_d[i]:
但是属性在这里似乎没有任何价值,有人能帮忙吗?你知道吗
首先,在每次迭代中,您都会用这一行覆盖整个字典
我不能说我喜欢它,但至少你的代码应该改成
编辑:
OP演示:
如您所见,您的字典是从它处理的最后一个字符串填充的。这很可能不是你想要的。 还有一点-你没有在函数中使用你的函数参数-我只是用None来补充它们,函数就起作用了。你要么扔掉它们要么使用它们。你知道吗
相关问题 更多 >
编程相关推荐