python - 使用列表分发列表以删除 python 中的列表列表
问题描述
我有一个清单:
example_list = [x, y, [1, 2, 3], [4,5,6]]
我需要变成两个列表:
j = [x, y, 1, 2, 3]
k = [x, y, 4, 5, 6]
这个示例列表没有规律性,只有当我正在抓取的一页上有两个对象时——比如contact_page。通常,只有一个联系人,因此列表如下:
normal_example_list = [x, y, [1, 2, 3]]
其中“x”来自函数 1,“y”来自函数 2,[1,2,3] 来自函数 3(contact_page),我将它们与 normal_example_list.append() 放在一起
当contact_page中只有一个列表时,我可以将其展平。我正在寻找一个规则,它将遍历一个列表并删除列表中的第一个列表,然后删除列表中的第二个列表,同时将列表中的所有其他变量保持在它们的位置。
在重新输入我的查询后考虑一下
p = []
for i in contact_page:
p.append(x)
p.append(y)
p.append(i)
在我的代码中实现功能会更麻烦,但它可能会起作用。我希望有一个修复,比如(用文字)
if example_list contains a list:
new_list1 = [values common to both lists, [first list within list]]
new_list2 = [values common to both lists, [second list within list]]
从那我可以把它弄平。
解决方案
您似乎想从输入列表中提取所有列表并为每个列表创建一个列表,并结合输入列表中的所有非列表元素。
就像是:
xs = [1, 2, [3, 4, 5], [6, 7, 8], 9, [10]]
singles = [x for x in xs if not isinstance(x, list)]
result = [singles + x for x in xs if isinstance(x, list)]
print(result)
让你:
[[1, 2, 9, 3, 4, 5], [1, 2, 9, 6, 7, 8], [1, 2, 9, 10]]
推荐阅读
- python - DJANGO 通用视图找不到属性“as_view”
- java - 在 intellij 项目之间重构/移动 java 包
- javascript - 根据 setInterval 值将 div 增长到 100%
- php - 在命令行 PHP-CLI 中重新加载 PHP 文件
- html - 当我隐藏 div 的本机滚动条时表格宽度未更新
- java - 在人们之间平分价格的公式
- firebase - Firebase 身份验证日志 - GCP
- ruby-on-rails - 如何在活动管理员的索引操作中显示嵌套属性
- ibm-cloud - IBM Watson Assistant:法语实体(数字)提取
- checksum - 计算两个 16 位流的 Internet 校验和