[英]Extract elements from list of lists
我有一个 object ,我想从 object 中提取一些元素以列出。
我有这个
[["Test_1",
{"name": "Test_level_1", "value": 10},
{"name": "Test_level_1 again", "value": 15}],
["Test_2",
{"name": "Test_level_2", "value": 1},
{"name": "Test_level_2 again", "value": 5}]]
我试图拥有这个
["Test_level_1",
"Test_level_1 again",
"Test_level_2",
"Test_level_2 again"]
这样做的方法是什么?
列表推导将很好地涵盖这一点。
data = [["Test_1",
{"name": "Test_level_1", "value": 10},
{"name": "Test_level_1 again", "value": 15}],
["Test_2",
{"name": "Test_level_2", "value": 1},
{"name": "Test_level_2 again", "value": 5}]]
desired_data = [item['name'] for sublist in data
for item in sublist
if isinstance(item, dict)]
结果:
['Test_level_1', 'Test_level_1 again', 'Test_level_2', 'Test_level_2 again']
遍历您的列表,并进行良好的解包并保留"name"
中的值
values = [["Test_1", {"name":"Test_level_1", "value":10}, {"name":"Test_level_1 again", "value":15}],
["Test_2", {"name":"Test_level_2", "value":1}, {"name":"Test_level_2 again", "value":5}]]
result = []
for first, *others in values:
for other in others:
result.append(other["name"])
arr = [
["Test_1",
{"name": "Test_level_1",
"value": 10},
{"name": "Test_level_1 again",
"value": 15}],
["Test_2",
{"name": "Test_level_2",
"value": 1},
{"name": "Test_level_2 again",
"value": 5}]
]
ans = ans = [item["name"] for subarr in arr
for index, item in enumerate(subarr)
if index!=0];
print(ans)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.