【发布时间】:2018-09-14 19:43:13
【问题描述】:
有没有更简单的方法(没有 for 循环)将列表索引包含在一个联合字符串中?
我当前的代码是:
sep = ' - '
a = 'apple - banana - lemon - melon'
b = a.split(sep)
c = ''
for item in b:
c += str(b.index(item)+1)+'.'+item+sep
d = c[:len(c)-len(sep)]
print(d)
【问题讨论】:
-
您想要字符串中的索引,还是 [(index, substring), ...] 的子集?
-
这可以更简洁地表达为
sep.join('{}.{}'.format(i, x) for i, x in enumerate(b, start=1)) -
谢谢帕特里克,这就是我要找的。前两行之后,可以浓缩成一行:
d = sep.join('{}.{}'.format(i, s) for i,s in enumerate(a.split(sep), start=1))
标签: python string list indexing