试图理解Python行代码

时间:2015-05-07 12:03:52

标签: python-3.x

我是python的新手,当我在不使用" len()"的情况下搜索获取字符串长度的方法时,我找到了这个答案:

sum([1 for _ in "your string goes here"])

有人可以帮助我理解这一行吗,' 1'在那里做什么?

1 个答案:

答案 0 :(得分:1)

这基本上等同于:

lst = []
for dontCareAboutTheName in "your string goes here":
    lst.append(1)
print(sum(lst))

列表推导基本上为循环遍历字符串时找到的每个字符收集数字1。因此列表将包含与字符串长度完全相同的元素。由于所有这些列表元素都是1,因此在计算所有这些元素的总和时,最终会得到字符串的长度。

相关问题