python - 从 Python 中的列表中提取元素以创建嵌套列表
问题描述
我有一个这样的列表(这是从一些使用 bs4 的 html 文本中提取的):
test = ['Raji GlovesSixSixOneRegular price\n$29.99\nSale price$9.95\n\n Save 67%\n \nBUY 2 GET 1 FREE',
'Comp Vortex GlovesSixSixOneRegular price\n$29.99\nSale price$9.95\n\n Save 67%\n \nBUY 2 GET 1 FREE',
"Shasta 3/4 Cycling Tights - Women'sSpecializedRegular price\n$70.00\nSale price$14.95\n\n Save 79%",]
len(test) # 3
我想遍历列表中的每一行(3 个列表),并为每行提取第 0、2 和第 4 个索引项。使输出看起来像这样:
这个嵌套列表包含我想要查看的所有项目。
out = [['Raji GlovesSixSixOneRegular price',
'Sale price$9.95',
' Save 67%'],['Comp Vortex GlovesSixSixOneRegular price',
'Sale price$9.95',
' Save 67%'],["Shasta 3/4 Cycling Tights - Women'sSpecializedRegular price",
'Sale price$14.95',
' Save 79%']]
我知道我可以像这样从第一行中提取项目:
item1 = test[0]
item1 = item1.split(sep = '\n')
item1
indices = [0,2,4]
values =[]
for i in indices:
print(item1[i])
values.append(item1[i])
values
['Raji GlovesSixSixOneRegular price',
'Sale price$9.95',
' Save 67%']
我是 python 新手,我努力从每一行中提取这些项目,并将它们附加到嵌套列表中(见上文)。
关于如何实现这一目标的任何想法?
解决方案
简单的列表理解
test = ['Raji GlovesSixSixOneRegular price\n$29.99\nSale price$9.95\n\n Save 67%\n \nBUY 2 GET 1 FREE',
'Comp Vortex GlovesSixSixOneRegular price\n$29.99\nSale price$9.95\n\n Save 67%\n \nBUY 2 GET 1 FREE',
"Shasta 3/4 Cycling Tights - Women'sSpecializedRegular price\n$70.00\nSale price$14.95\n\n Save 79%",]
values = [i.split(sep = '\n')[0:5:2] for i in test]
推荐阅读
- visual-studio - 如何将 opencv 库从 Visual Studio 交叉编译到 linux?(Ubuntu)
- python - 当我在自定义循环中使用 keras 回调时,日志字典是否仍作为输入传递?
- github-actions - GitHub 操作:使用不同的环境值重复步骤
- excel - 将按钮操作到工作表仅适用于调试模式
- java - 设计更改为调用 2 个 DTO 类的构造函数
- javascript - 在 React 中根据高度显示更多
- node.js - 如何在没有用户交互的情况下验证 Google Sheets API
- python-3.x - Is it possible to create a partial function without lambda or library function
- ios - 有没有办法改变json数据的值?迅速
- r - 如何通过ggplot2添加不存在于数据中的图例类别