Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何拆分字符串列表?_Python_String_List - Fatal编程技术网

Python 如何拆分字符串列表?

Python 如何拆分字符串列表?,python,string,list,Python,String,List,是否有一种方法可以拆分每个字符的字符串列表 下面是一个简单的列表,我希望每个列表拆分!: 我知道它不应该运行,我本质上想要一个新的字符串列表,其字符串现在以!分隔!。因此,输出可以是: ["hello", "i like apples", "my name is", "alfred"] 试试这个: name1 = ['hello! i like apples!', 'my name is ! alfred!']

是否有一种方法可以拆分每个字符的字符串列表

下面是一个简单的列表,我希望每个列表拆分!:

我知道它不应该运行,我本质上想要一个新的字符串列表,其字符串现在以!分隔!。因此,输出可以是:

["hello", "i like apples", "my name is", "alfred"]
试试这个:

name1 = ['hello! i like apples!', 'my name is ! alfred!']           
new_list = []                                                       
for l in range(0, len(name1)):                                      
    new_list += name1[l].split('!')
    new_list.remove('')                        
print(new_list)                                                      
印刷品:

[‘你好’、‘我喜欢苹果’、‘我的名字是’、‘阿尔弗雷德’]

试试这个:

name1 = ['hello! i like apples!', 'my name is ! alfred!']           
new_list = []                                                       
for l in range(0, len(name1)):                                      
    new_list += name1[l].split('!')
    new_list.remove('')                        
print(new_list)                                                      
印刷品:


['hello'、'i like apples'、'my name is'、'alfred']

只需在每个字符串上循环,并将其拆分结果展平到一个新列表:

name1=[“你好!我喜欢苹果!”,“我的名字是!阿尔弗雷德!”] 打印[s.strip for sub in name1 for s in sub.split'!'如果s] 给出:

[“你好”,“我喜欢苹果”,“我的名字是”,“阿尔弗雷德”]
只需在每个字符串上循环并将其拆分结果展平到一个新列表:

name1=[“你好!我喜欢苹果!”,“我的名字是!阿尔弗雷德!”] 打印[s.strip for sub in name1 for s in sub.split'!'如果s] 给出:

[“你好”,“我喜欢苹果”,“我的名字是”,“阿尔弗雷德”]
根据你给出的结果,我已经解决了这个问题。 所以基本上我做的是:

一,。通过简单地连接列表中包含的所有字符串来创建一个大字符串

二,。按字符分割大字符串

代码:

输出:

['hello', ' i like apples', 'my name is ', ' alfred', '']

根据你给出的结果,我已经解决了这个问题。 所以基本上我做的是:

一,。通过简单地连接列表中包含的所有字符串来创建一个大字符串

二,。按字符分割大字符串

代码:

输出:

['hello', ' i like apples', 'my name is ', ' alfred', '']


为什么名称1首先是一个列表?我猜您想要其中一个名称1[0]。拆分“!”或者[name.split'!”代表name1中的name]。@0x5453-因为这是一个字符串列表?如果字符串不以!结尾,该怎么办!?两个字符串应该连接起来吗?为什么name1首先是一个列表?我猜您想要其中一个名称1[0]。拆分“!”或者[name.split'!”代表name1中的name]。@0x5453-因为这是一个字符串列表?如果字符串不以!结尾,该怎么办!?两个字符串应该连接起来吗?对不起,请查看更新版本,我忘了拆分原始列表对不起,请查看更新版本,我忘了拆分原始列表执行s=.joinlst会更有效。@tdelaney当然,谢谢您的评论。我将把它添加到代码中,因为for循环看起来不像pythonic解决方案。这不是op所说的预期输出:列表末尾有一个条目,很清楚为什么会有,但不应该有?@Timus-同意。这里应该有一个条子和一个空的测试。我认为OP在感叹号周围放空格时犯了一个错误。如果OP不需要空字符串,我想他/她可以通过简单地从列表中删除元素来删除空字符串。做s=.joinlst会更有效率。@tdelaney当然,谢谢你的评论。我将把它添加到代码中,因为for循环看起来不像pythonic解决方案。这不是op所说的预期输出:列表末尾有一个条目,很清楚为什么会有,但不应该有?@Timus-同意。这里应该有一个条子和一个空的测试。我认为OP在感叹号周围放空格时犯了一个错误。如果OP不需要空字符串,我想他/她可以通过简单地从列表中删除元素来删除空字符串。您可以在[ss代表s.strip代表s.strip代表sub.split'中的sub 1代表s!'如果ss]中添加一个条带[ss代表s.strip代表s.split中的sub 1代表s.split'!'如果ss]