python - 索引空字符串python

标签 python

下面的函数按我想要的方式工作,但是如果参数在列表中包含空白字符串,它不会像我希望的那样进行索引。

def number(lines):
    return ['{0}: '.format(lines.index(i) +1) + i for i in lines]



print(number(["a", "b", "c"]))

返回:

["1: a", "2: b", "3: c"]

正是我希望它如何返回列表

但是,如果函数的参数包含空白字符串,例如:

print(number(["a", "", ""]))

返回:

["1: a", "2: ", "2: "]

有人可以解释为什么会发生这种情况,以及如何纠正它,无论列表元素是否为空,都始终从一开始计数

最佳答案

index 方法为您提供列表中出现空格的第一个索引。这不仅限于空字符串,还包括在列表中出现两次的任何字符/字符串。使用 enumerate 来代替计数变量。

def number(lines):
    return ['{0}: {1}'.format(i+1, j) for i, j in enumerate(lines)]

关于python - 索引空字符串python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42001250/

相关文章:

python - 无法导入名称 PyMouse

Python statsmodels logit Wald 测试输入

python - 如何在Python中循环菜单选择验证?

python - Pandas :选择 groupby.sum() 满足条件的行

python - 在python中的链接列表中获取最长的链接

python - 在 ADMIN_MENU_ORDER 中创建自定义项目

python - 如何可靠地检查域是否已注册或可用?

python - 将 Jar 添加到独立的 pyspark

python - 用于查找面积和周长的 If 语句

python - pandas 中的条件方法链接