我希望创建一个函数,将字典与地址值转换成一个字符串值与特定的顺序。我还需要解释丢失的值(一些地址不会有第二个或第三个地址行。我希望输出如下所示,这样我就可以将文本块(用新行分隔)复制到数据库字段中。
name
contact
addr1
addr2 (if not empty)
addr3 (if not empty)
city, state zip
phone
我有以下内容来创建字典,但是我必须创建string对象,它忽略空值并将所有内容按正确的顺序排列。
def setShippingAddr(name, contact, addr1, addr2, addr3, city, state, zipCode, phone):
addDict = {'name': name, 'contact': contact, 'addr1': addr1,
'city': city, 'state': state, 'zip': zipCode, 'phone': phone}
if addr2 is True: # append dict if addr2/addr 3 are True
addDict['addr2'] = addr2
if addr3 is True:
addDict['addr3'] = addr3
shAddr = # This is where i need to create the string object
return shAddr
问题来源StackOverflow 地址:/questions/59379074/converting-dictionary-values-into-a-string-object-with-a-specific-order
我将重写的函数只返回字符串,字典是没有必要的:
def setShippingAddr(name, contact, addr1, city, state, zipCode, phone, addr2=None, addr3=None):
shAddr = f'{name}\n{contact}\n{addr1}'
shAddr = f'{shAddr}\n{addr2}' if addr2 else shAddr
shAddr = f'{shAddr}\n{addr3}' if addr3 else shAddr
shAddr = f'{shAddr}\n{city}, {state} {zipCode}\n{phone}'
return shAddr
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。