Python 传递和连接全局字符串值

问题描述 投票:0回答:1

我有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...”行,尽管我不知道是否有必要并且这没有帮助。

python string parameter-passing
1个回答
0
投票

global
参考文献是不必要的。所有数据都已在
addresses
中。如果你想做的只是通过“^”将它们连接起来,Python 有一个内置的,就是为了这个。以下是满足您需求所需的全部内容。

def ordered_addr_string(*addresses):
    return '^'.join(address for address in addresses if address)
© www.soinside.com 2019 - 2024. All rights reserved.