python - split() 字符串上的 Python strip() 有什么作用吗?

标签 python python-2.7 split strip

根据一些实验,在我看来,以下 Python v2.7 代码:

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

可以简化如下,删除 strip()map:

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

我相信这是真的,因为 split() 应该删除所有空格,因此 strip() 将是空操作。

是否存在以上两者在效果上不相同的情况,如果是,它们是什么?

最佳答案

documentation指示带有隐式空白定界符的 split(即没有进一步参数的 split())将清除任何“空标记”,您不需要剥离任何内容.由于任何连续的空格系列都可以解释为由空格分隔的空标记列表,这意味着字符串会自动修剪。

如果您使用不同的分隔符或隐式定义空格,则可能会发生这种情况:

' 1  2   3  '.split()
=> ['1', '2', '3']

'  1  2   3  '.split(None, 1)
=> ['1', '2   3  ']

关于python - split() 字符串上的 Python strip() 有什么作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15665680/

相关文章:

Python 正则表达式 : splitting on pattern match that is an empty string

python - 我无法捕获所有请求错误/异常。某些原因导致未知错误

python - PyTorch 迁移学习教程的混淆矩阵和测试准确性

mongodb - PyMongo 聚合查询

python - 巨大 numpy (HDF5) 阵列的统计数据

regex - 在 Perl 中如何将字符串拆分为每个包含两个字符的 block ?

python - Tkinter:如何通过函数将两个命令分配给一个按钮?

python - 使用 PyDrive 将 Pandas DataFrame 作为 Excel 文件直接上传到 Google Drive

Python 删除非拉丁字符

c# - 删除标签中的最后一个单词 split by\