我发现this question并且原始代码中的一件事让我感到困惑:
>>> x="Alpha_beta_Gamma"
>>> words = [y for y in x.split('_')]
这样做有什么意义:[y for y in x.split('_')]
? split
已经返回一个列表,并且在此列表理解中不会操纵项目。我错过了什么吗?
答案 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']