gpt4 book ai didi

python - 根据正则表达式的匹配在 Python 中切片二维列表

转载 作者:太空宇宙 更新时间:2023-11-04 02:38:58 24 4
gpt4 key购买 nike

我有一个二维数组,它有很多行和两列。我想提取此二维数组的所有行,其中第一列的字符串与列表中的任何子字符串匹配。

请看下面的人为例子。

students_mat = [['Ant', 'Bat', 'Cat', 'Dog', 'Ear'] , [3.75, 4.32, 2.43, 3.73,  2.51]]


subset_ids = ['A', 'B', 'E']

我想要输出

 accepted_std = [['Ant', 'Bat', 'Ear'] , [3.75, 4.32, 2.51]]

我试过了

accepted_std = [s for s in students_mat if any(xs in s for xs in subset_ids)]

这不起作用,但它适用于一维列表。

感谢和问候,桑托斯

最佳答案

students_mat = [['Ant', 'Bat', 'Cat', 'Dog', 'Ear'] , [3.75, 4.32, 2.43, 3.73,  2.51]]
subset_ids = ['A', 'B', 'E']

# we need corresponding pairs from first and second subarrays
pairs = zip(*students_mat)

# filtering
filtered_pairs = ((x, y) for x, y in pairs if x[0] in subset_ids)

# returning to original form
original = zip(*filtered_pairs)

# converting to list of lists
accepted_std = list(map(list, original))

关于python - 根据正则表达式的匹配在 Python 中切片二维列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47096290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com