Kaydet (Commit) 2ab19920 authored tarafından Guido van Rossum's avatar Guido van Rossum

make split and splitfields, join and joinfields synonyms

üst efe5ac40
...@@ -57,7 +57,8 @@ def strip(s): ...@@ -57,7 +57,8 @@ def strip(s):
# Split a string into a list of space/tab-separated words # Split a string into a list of space/tab-separated words
# NB: split(s) is NOT the same as splitfields(s, ' ')! # NB: split(s) is NOT the same as splitfields(s, ' ')!
def split(s): def split(s, sep=None):
if sep is not None: return splitfields(s, sep)
res = [] res = []
i, n = 0, len(s) i, n = 0, len(s)
while i < n: while i < n:
...@@ -72,7 +73,8 @@ def split(s): ...@@ -72,7 +73,8 @@ def split(s):
# Split a list into fields separated by a given string # Split a list into fields separated by a given string
# NB: splitfields(s, ' ') is NOT the same as split(s)! # NB: splitfields(s, ' ') is NOT the same as split(s)!
# splitfields(s, '') returns [s] (in analogy with split() in nawk) # splitfields(s, '') returns [s] (in analogy with split() in nawk)
def splitfields(s, sep): def splitfields(s, sep=None):
if sep is None: return split(s)
res = [] res = []
nsep = len(sep) nsep = len(sep)
if nsep == 0: if nsep == 0:
...@@ -89,11 +91,11 @@ def splitfields(s, sep): ...@@ -89,11 +91,11 @@ def splitfields(s, sep):
return res return res
# Join words with spaces between them # Join words with spaces between them
def join(words): def join(words, sep = ' '):
return joinfields(words, ' ') return joinfields(words, sep)
# Join fields with separator # Join fields with optional separator
def joinfields(words, sep): def joinfields(words, sep = ' '):
res = '' res = ''
for w in words: for w in words:
res = res + (sep + w) res = res + (sep + w)
......
...@@ -57,7 +57,8 @@ def strip(s): ...@@ -57,7 +57,8 @@ def strip(s):
# Split a string into a list of space/tab-separated words # Split a string into a list of space/tab-separated words
# NB: split(s) is NOT the same as splitfields(s, ' ')! # NB: split(s) is NOT the same as splitfields(s, ' ')!
def split(s): def split(s, sep=None):
if sep is not None: return splitfields(s, sep)
res = [] res = []
i, n = 0, len(s) i, n = 0, len(s)
while i < n: while i < n:
...@@ -72,7 +73,8 @@ def split(s): ...@@ -72,7 +73,8 @@ def split(s):
# Split a list into fields separated by a given string # Split a list into fields separated by a given string
# NB: splitfields(s, ' ') is NOT the same as split(s)! # NB: splitfields(s, ' ') is NOT the same as split(s)!
# splitfields(s, '') returns [s] (in analogy with split() in nawk) # splitfields(s, '') returns [s] (in analogy with split() in nawk)
def splitfields(s, sep): def splitfields(s, sep=None):
if sep is None: return split(s)
res = [] res = []
nsep = len(sep) nsep = len(sep)
if nsep == 0: if nsep == 0:
...@@ -89,11 +91,11 @@ def splitfields(s, sep): ...@@ -89,11 +91,11 @@ def splitfields(s, sep):
return res return res
# Join words with spaces between them # Join words with spaces between them
def join(words): def join(words, sep = ' '):
return joinfields(words, ' ') return joinfields(words, sep)
# Join fields with separator # Join fields with optional separator
def joinfields(words, sep): def joinfields(words, sep = ' '):
res = '' res = ''
for w in words: for w in words:
res = res + (sep + w) res = res + (sep + w)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment