多个字符串与索引一起附加

时间:2017-04-01 19:00:34

标签: python python-3.x

我有多个字符串需要原始字符串来追加不同的字符串。原始字符串和追加字符串都包含1个int变量根据我的知识,以下两个代码都可以工作但是最好的方法是什么,或者有更好的方法吗? 或者有什么方法可以写出像

这样的东西
newstrg = '{}{}'.format(org%OrgInt, appd%appdInt)

第一种方法

org = "org__%s"
appd = "appd__%s"
orgInt = 1
appdInt = 7
newstrg = org % orgInt + appd % appdInt
print(newstrg)
org__1appd__7

第二种方法

org = "org__{}"
appd = "appd__{}"
orgInt = 1
appdInt = 7
newstrg = (org + appd).format(orgInt, appdInt)
org__1appd__7

2 个答案:

答案 0 :(得分:2)

这是另一种方式:

org_appd = {'org': 1, 'appd': 7}       
org = "org__{org}"
appd = "appd__{appd}"

newstrg = (org + appd).format(**org_appd)

答案 1 :(得分:0)

" org __ {org} appd {appd}" .format(org = 1,appd = 7)或类似内容?您的格式字符串可以是任意的,使用命名占位符更清晰。

修改

如果令牌和数字是可变的,请将它们作为令牌 - 值对列表提供:

tokenpairs = [('org',1), ('appd', 7)] # etc
unit = lambda t,v : "{0}__{1}".format(t ,v)
renamed = "".join([unit (t, v) for t, v in tokenpairs])