[y代表x.split('_')]和x.split('_')之间的差异

时间:2015-07-08 20:27:00

标签: python string list split

我发现this question并且原始代码中的一件事让我感到困惑:

>>> x="Alpha_beta_Gamma"
>>> words = [y for y in x.split('_')]

这样做有什么意义:[y for y in x.split('_')]split已经返回一个列表,并且在此列表理解中不会操纵项目。我错过了什么吗?

2 个答案:

答案 0 :(得分:8)

你是对的;这样做没有意义。但是,它经常与某种过滤器或其他结构结合使用,例如[y for y in x.split('_') if y.isalpha()]

答案 1 :(得分:2)

结果没有区别,但在这种情况下使用列表理解并不是一个好方法而且是多余的!

>>> x="Alpha_beta_Gamma"
>>> [y for y in x.split('_')]
['Alpha', 'beta', 'Gamma']
>>> x.split('_')
['Alpha', 'beta', 'Gamma']