【发布时间】:2018-08-30 10:40:55
【问题描述】:
如果我有string,例如s = '1084271054',并想打印所有为0的索引位置例如:
0 - 1, 7
解决这个问题的最基本方法是什么?
【问题讨论】:
-
SO 不是编码服务。展示您在解决此问题方面所做的一些工作,您可能会得到一些帮助。
-
对不起,我是个小胖子
标签: python
如果我有string,例如s = '1084271054',并想打印所有为0的索引位置例如:
0 - 1, 7
解决这个问题的最基本方法是什么?
【问题讨论】:
标签: python
[i for i, c in enumerate(s) if c=='0']
Out: [1, 7]
【讨论】:
也许像
>>> idx=[i for i in range(len(s)) if s[i]=='0']
>>> idx
[1, 7]
编辑:
>>> print ', '.join(str(i) for i in idx)
1, 7
【讨论】:
将字符串传递给枚举函数,该函数返回索引和字符的可迭代。然后你可以遍历它并检查字符是否为'0',如果是,则打印索引:
for i,c in enumerate(s):
if c == '0':
print(i)
哪个输出:
1
7
如果您希望它们在一行中以逗号分隔,那么您可以将str.join 与生成器一起使用:
print(', '.join(str(i) for i,c in enumerate(s) if c == '0'))
给出:
1, 7
【讨论】: