首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拆分已在列表中的字符串

拆分已在列表中的字符串
EN

Stack Overflow用户
提问于 2019-07-19 03:35:50
回答 2查看 96关注 0票数 0
代码语言:javascript
运行
复制
elements = local_browsers.find_elements_by_xpath("//p[@class='small margin-top-xsmall margin-bottom-xsmall']")
elements = [obj.text.split('\n') for obj in elems]
return elems

expected_output:

代码语言:javascript
运行
复制
['someuser','password','another']

但得到的结果如下:

代码语言:javascript
运行
复制
[['someuser','password','another']]
EN

回答 2

Stack Overflow用户

发布于 2019-07-19 03:50:02

您将在列表中获得一个列表,因为列表理解的输出是一个列表,而str.split的输出是一个列表。因此,将str.split放在列表理解中可以得到两个列表。

如果您可以假设第一个元素是唯一的元素,则可以通过避免列表理解来处理此问题:

代码语言:javascript
运行
复制
elems[0].text.split('\n')

如果要展平结果,以便所有元素中的所有行都显示在一个列表中:

代码语言:javascript
运行
复制
import itertools
list(itertools.chain(*(obj.text.split('\n') for obj in elems)))
票数 1
EN

Stack Overflow用户

发布于 2019-07-19 03:49:43

这种情况很难在列表理解中完成。相反,您可以使用传统的for循环,并扩展列表,而不是在执行过程中构建列表。

代码语言:javascript
运行
复制
elements = local_browsers.find_elements_by_xpath("//p[@class='small margin-top-xsmall margin-bottom-xsmall']")
elems = []
for obj in elements:
    elems += obj.text.split('\n')
return elems
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57101548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档