我有4个全局变量:mdstring、rxstring、dnstring、vsstring
我已经验证了设置其值返回字符串的函数 (例如 vsstring =“1|Vision|~包含在医疗中。”)
我有一本字典,用于设置字符串的使用顺序:
ordered_back_addreses = {
#snip
"5117": ordered_addr_string(mdstring, rxstring, dnstring, vsstring),
#snip
}
这是正在调用的函数:
def ordered_addr_string(*addresses):
global mdstring, rxstring, dnstring, vsstring
ordered_addreses = ""
for address in addresses:
print(address)
if address != "":
#ordered_addreses = ordered_addreses + "^" + address
pass
return ordered_addreses
注释行是我正在尝试做的。这些全局变量可能引用 0 个或多个非空字符串。如果该值不是空字符串,我想按照指定的顺序将其添加到 ^ 分隔的新字符串中。此外,“5117”使用列出的四个全局名称,但另一个键可能使用更多或更少。
打印(地址)向我显示“object.Class对象位于address”,所以我认为我在想要值的地方使用了名称。
我尝试将 str() 中的变量包装在字典和函数中,并且还在函数的开头添加了“global...”行,尽管我不知道是否有必要并且这没有帮助。
global
参考文献是不必要的。所有数据都已在addresses
中。如果你想做的只是通过“^”将它们连接起来,Python 有一个内置的,就是为了这个。以下是满足您需求所需的全部内容。
def ordered_addr_string(*addresses):
return '^'.join(address for address in addresses if address)