由于我要从字符串列表中获取单个字符串,但陷入了误区,所以将思路过程记录下来。
首先这里存在一个列表
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