python中的字符串列表的分割

由于我要从字符串列表中获取单个字符串,但陷入了误区,所以将思路过程记录下来。

首先这里存在一个列表

results_names = ["中文", "不知道能不能", "被打印出来"]
我的想法是将列表转换为以空格为分隔的字符串再进行分割
results_names_str = ' '.join(results_names)
print(results_names_str)

这是打印出来的结果:

中文 不知道能不能 被打印出来

然后呢,我就用遍历将字符串以空格为分隔,逐个打印出来

for string in results_names_str:
    words = string.split(' ')
    print(words)

打印出来的结果为:

['中']
['文']
['', '']
['不']
['知']
['道']
['能']
['不']
['能']
['', '']
['被']
['打']
['印']
['出']
['来']

这是完整代码:

results_names = ["中文", "不知道能不能", "被打印出来"]
results_names_str = ' '.join(results_names)
print(results_names_str)
for string in results_names_str:
    words = string.split(' ')
    print(words)

明显这不符合我的需求,我想要字符串以词的形式被打印出来,例如这样:

中文 
不知道能不能 
被打印出来

想了好久,终究是自己没能想明白,后来经过不断寻找解决方法终于找到了,原因是我的想法略显复杂,而且不懂python的语法,下面是解决方案:

my_list1 = ["中文", "不知道能不能", "被打印出来"]
for string in my_list1:
    words = string.split(',')
    for word in words:
        print(word)

打印结果:

中文 
不知道能不能 
被打印出来

由此,我的问题得到了解决。

顺便一提:英文也是如此:

my_list = ['apple banana', 'cherry', 'date orange pear']
for string in my_list:
    words = string.split(',')
    for word in words:
        print(word)

打印结果:

apple banana
cherry
date orange pear

你可能感兴趣的:(Python小问题,开发语言,python)