如何在Python3中从字符串创建列表?
因此,我试图将一个包含多个分隔符的字符串转换为一个列表,但这取决于分隔符的位置: 例如:如何在Python3中从字符串创建列表?,python,list,python-3.x,Python,List,Python 3.x,因此,我试图将一个包含多个分隔符的字符串转换为一个列表,但这取决于分隔符的位置: 例如:(“万岁!终于,我们完成了。”,“!”)根据给定的分隔符转换为:[“万岁”,“终于”,“我们完成了”。] 如您所见,字符串根据分隔符拆分为一个列表。我最近的尝试: for ch in separators: original = ' '.join(original.split(ch)) return(original.split()) 当我这样做时,我得到的结果是: [‘万岁’、‘终于’、‘我们成
(“万岁!终于,我们完成了。”,“!”)
根据给定的分隔符转换为:[“万岁”,“终于”,“我们完成了”。]
如您所见,字符串根据分隔符拆分为一个列表。我最近的尝试:
for ch in separators:
original = ' '.join(original.split(ch))
return(original.split())
当我这样做时,我得到的结果是:
[‘万岁’、‘终于’、‘我们成功了’、‘完成了’]
但是我需要将“我们完成了”作为列表中的一个元素,而不是分开
我得到了一个使用字符串累加器的建议,但我不认为它有助于解决这个问题
谢谢您可以使用适当的表达式:
>>> data=("Hooray! Finally, we're done.", "!,")
>>> re.split("[%s]" % re.escape(data[1]), data[0])
['Hooray', ' Finally', " we're done."]
按元组第二个元素中的每个字符拆分元组的第一个元素
正则表达式由元组的第二个字符串组成,其中所有正则表达式特殊字符都被正确转义。[某些字符]表示方括号内的每个字符都是分隔符。您可以使用适当的表达式:
>>> data=("Hooray! Finally, we're done.", "!,")
>>> re.split("[%s]" % re.escape(data[1]), data[0])
['Hooray', ' Finally', " we're done."]
按元组第二个元素中的每个字符拆分元组的第一个元素
正则表达式由元组的第二个字符串组成,其中所有正则表达式特殊字符都被正确转义。[某些字符]表示方括号内的每个字符都是分隔符。您可以使用适当的表达式:
>>> data=("Hooray! Finally, we're done.", "!,")
>>> re.split("[%s]" % re.escape(data[1]), data[0])
['Hooray', ' Finally', " we're done."]
按元组第二个元素中的每个字符拆分元组的第一个元素
正则表达式由元组的第二个字符串组成,其中所有正则表达式特殊字符都被正确转义。[某些字符]表示方括号内的每个字符都是分隔符。您可以使用适当的表达式:
>>> data=("Hooray! Finally, we're done.", "!,")
>>> re.split("[%s]" % re.escape(data[1]), data[0])
['Hooray', ' Finally', " we're done."]
按元组第二个元素中的每个字符拆分元组的第一个元素
正则表达式由元组的第二个字符串组成,其中所有正则表达式特殊字符都被正确转义。[某些字符]意味着方括号内的每个字符都是分隔符。只需使用以下命令执行此操作:
编辑: 如果没有正则表达式,则需要自定义函数,例如:
def multisplit(s, delims):
pos = 0
for i, c in enumerate(s):
if c in delims:
yield s[pos:i]
pos = i + 1
yield list(s[pos:])
然后按如下方式使用:
>>> original = "Hooray! Finally, we're done."
>>> multisplit(original, '!,')
['Hooray', ' Finally', " we're done."]
只需使用以下工具执行此操作:
编辑: 如果没有正则表达式,则需要自定义函数,例如:
def multisplit(s, delims):
pos = 0
for i, c in enumerate(s):
if c in delims:
yield s[pos:i]
pos = i + 1
yield list(s[pos:])
然后按如下方式使用:
>>> original = "Hooray! Finally, we're done."
>>> multisplit(original, '!,')
['Hooray', ' Finally', " we're done."]
只需使用以下工具执行此操作:
编辑: 如果没有正则表达式,则需要自定义函数,例如:
def multisplit(s, delims):
pos = 0
for i, c in enumerate(s):
if c in delims:
yield s[pos:i]
pos = i + 1
yield list(s[pos:])
然后按如下方式使用:
>>> original = "Hooray! Finally, we're done."
>>> multisplit(original, '!,')
['Hooray', ' Finally', " we're done."]
只需使用以下工具执行此操作:
编辑: 如果没有正则表达式,则需要自定义函数,例如:
def multisplit(s, delims):
pos = 0
for i, c in enumerate(s):
if c in delims:
yield s[pos:i]
pos = i + 1
yield list(s[pos:])
然后按如下方式使用:
>>> original = "Hooray! Finally, we're done."
>>> multisplit(original, '!,')
['Hooray', ' Finally', " we're done."]
没有正则表达式的简单解决方案可以是:
def split_on_separators(word, separators):
word_list = [word]
auxList = []
for sep in separators:
for w in word_list:
auxList.extend(w.split(sep))
word_list = auxList
auxList = list()
return word_list
example = "Hooray! Finally, we're done."
separators = '!,'
split_on_separators(example, separators)
Out[49]: ['Hooray', ' Finally', " we're done."]
没有正则表达式的简单解决方案可以是:
def split_on_separators(word, separators):
word_list = [word]
auxList = []
for sep in separators:
for w in word_list:
auxList.extend(w.split(sep))
word_list = auxList
auxList = list()
return word_list
example = "Hooray! Finally, we're done."
separators = '!,'
split_on_separators(example, separators)
Out[49]: ['Hooray', ' Finally', " we're done."]
没有正则表达式的简单解决方案可以是:
def split_on_separators(word, separators):
word_list = [word]
auxList = []
for sep in separators:
for w in word_list:
auxList.extend(w.split(sep))
word_list = auxList
auxList = list()
return word_list
example = "Hooray! Finally, we're done."
separators = '!,'
split_on_separators(example, separators)
Out[49]: ['Hooray', ' Finally', " we're done."]
没有正则表达式的简单解决方案可以是:
def split_on_separators(word, separators):
word_list = [word]
auxList = []
for sep in separators:
for w in word_list:
auxList.extend(w.split(sep))
word_list = auxList
auxList = list()
return word_list
example = "Hooray! Finally, we're done."
separators = '!,'
split_on_separators(example, separators)
Out[49]: ['Hooray', ' Finally', " we're done."]
更改字符串,使所有分隔符相同,然后在此分隔符上拆分:
def separate(words, separators):
sep0 = separators[0]
for sep in separators[1:]:
words = words.replace(sep, sep0)
return words.split(sep0)
更改字符串,使所有分隔符相同,然后在此分隔符上拆分:
def separate(words, separators):
sep0 = separators[0]
for sep in separators[1:]:
words = words.replace(sep, sep0)
return words.split(sep0)
更改字符串,使所有分隔符相同,然后在此分隔符上拆分:
def separate(words, separators):
sep0 = separators[0]
for sep in separators[1:]:
words = words.replace(sep, sep0)
return words.split(sep0)
更改字符串,使所有分隔符相同,然后在此分隔符上拆分:
def separate(words, separators):
sep0 = separators[0]
for sep in separators[1:]:
words = words.replace(sep, sep0)
return words.split(sep0)
感谢您的回复,但我认为我不允许使用re.split方法。我们还没有在课堂上学习它,所以我想我只能使用for循环和某种累加器来完成它。@user3394677查看我的答案谢谢你的回答,但我认为我不允许使用re.split方法。我们还没有在课堂上学习它,所以我想我只能使用for循环和某种累加器来完成它。@user3394677查看我的答案谢谢你的回答,但我认为我不允许使用re.split方法。我们还没有在课堂上学习它,所以我想我只能使用for循环和某种累加器来完成它。@user3394677查看我的答案谢谢你的回答,但我认为我不允许使用re.split方法。我们还没有在课堂上学习它,所以我想我只能使用for循环和某种累加器来完成它。@user3394677查看我的答案谢谢你的回答,但我认为我不允许使用re.split方法。我们还没有在课堂上学习过它,所以我想我只能用for循环和某种累加器来完成它。@user3394677参见上面的编辑。如果我对你有用,请接受我的回答。谢谢你的回复,但我认为我不允许使用re.split方法。我们还没有在课堂上学习过它,所以我想我只能用for循环和某种累加器来完成它。@user3394677参见上面的编辑。如果我对你有用,请接受我的回答。谢谢你的回复,但我认为我不允许使用re.split方法。我们还没有在课堂上学习过它,所以我想我只能用for循环和某种累加器来完成它。@user3394677参见上面的编辑。如果我对你有用,请接受我的回答。谢谢你的回复,但我认为我不允许使用re.split方法。我们还没有在课堂上学习过它,所以我想我只能用for循环和某种累加器来完成它。@user3394677参见上面的编辑。如果我对你有用,请接受我的回答。