Un Python strip() sur un split() de la chaîne de faire quelque chose?

Basée sur quelques expériences, il me semble que la suite de Python v2.7 code:

def lookup_pattern(pattern, file_containing_patterns):
  for line in file_containing_patterns:
    splits = line.split()
    if splits:
      if (pattern == splits[0]):
        return map(lambda x: x.strip(), splits[1:])
  return None

Pourrait être simplifiée comme suit pour déposer le map de strip():

def lookup_pattern(pattern, file_containing_patterns):
  for line in file_containing_patterns:
    splits = line.split()
    if splits:
      if (pattern == splits[0]):
        return splits[1:]
  return None

Je crois que c'est vrai parce que le split() devez supprimer tous les blancs de l'espace et donc la strip() serait un no-op.

Existe-il des cas où, dans les deux ci-dessus ne sont pas identiques en effet, si oui, quels sont-ils?

split() diviser une chaîne suivie par l'espace, il n'est pas de supprimer des espaces blancs.
Hein??? Bien sûr, il ne. >>> 'foo '.split() -> ['foo']

OriginalL'auteur WilliamKF | 2013-03-27