gpt4 book ai didi

python - 按值的前两个字符过滤值数组

转载 作者:行者123 更新时间:2023-12-02 18:39:46 26 4
gpt4 key购买 nike

我有一个值数组,我想通过它们的前两个字符来过滤它。

现在我的值是始终以两个字符的标识符开头的字符串,例如 01、02、03...因此我正在执行以下操作:

payloads = []
for pay in all_payloads:
if pay[:2] == '01':
payloads.append(pay)

我知道我也可以进行列表理解,但实际上我想学习的是是否可以直接使用numpy对其进行过滤。我想也许 np.where() 这是一个不错的选择,但它对我不起作用......

cosl = np.where(all_payloads[:2] == '01')

有人可以帮我学习如何做吗?

示例输入

['011b009f2e5141cc3c07be7756e0418a9ce6bc3e1ab13e9e1ffc3f0418943e00000000'
'011c00f51a51411de008be6f0fe541baa256bd85c2be3eb24af13fdbcb833e00000000'
'031d0086265141240401be873fea414b64e93b4d0a923e0723f33f2c95a63e00000000'
'011e00e62c5141a3e306be12c2ef4135d44a3c7b0e773eff51fb3f67da883e00000000'
'021e00e62c5141a3e306be12c2ef4135d44a3c7b0e773eff51fb3f67da883e00000000'
'011f0035335141f57107be6806f6410664e9bcd088983ee52ef13fb4b48b3e00000000'
'012000af405141521704be0184fd41d07752bd5eadb13ef0adf33fe4279c3e00000000'
'032100ae4351415a94fbbdf9e8024296710b3e4417c93fd77efa3f35b1043f00000000'
'01220015525141c20601be130e06423648f7bc9341a63e6c35fd3f6972943e00000000']

非常感谢!

最佳答案

您可以使用 np.char 模块中的函数来执行此操作:

a = np.array(["01_a", "01_b", "01_c", "02_a", "02_b", "02_c", "03_a", "03_b", "03_c"])
indices = np.where(np.char.startswith(a, "01"))
print(a[indices])

输出:

['01_a' '01_b' '01_c']

编辑:

'01' 过滤添加的示例输入的输出:

['011b009f2e5141cc3c07be7756e0418a9ce6bc3e1ab13e9e1ffc3f0418943e00000000'
'011c00f51a51411de008be6f0fe541baa256bd85c2be3eb24af13fdbcb833e00000000'
'011e00e62c5141a3e306be12c2ef4135d44a3c7b0e773eff51fb3f67da883e00000000'
'011f0035335141f57107be6806f6410664e9bcd088983ee52ef13fb4b48b3e00000000'
'012000af405141521704be0184fd41d07752bd5eadb13ef0adf33fe4279c3e00000000'
'01220015525141c20601be130e06423648f7bc9341a63e6c35fd3f6972943e00000000']

指数:

(array([0, 1, 3, 5, 6, 8], dtype=int64),)

关于python - 按值的前两个字符过滤值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68164005/

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