make split and splitfields, join and joinfields synonyms

This commit is contained in:
Guido van Rossum 1995-06-22 18:58:00 +00:00
parent efe5ac404f
commit 2ab19920fc
2 changed files with 16 additions and 12 deletions

View file

@ -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):
# 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):
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)

View file

@ -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):
# 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):
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)