python - 查找列表中带有子字符串的元素

标签 python arrays find element

我有一个 pickle 文件,其中包含存储的以下数据:

indices = np.load("descritores/indices_pessoa.pickle")
print(indices) # result

 {0: 'fotos\\pessoa.1.1.jpg', 1: 'fotos\\pessoa.1.2.jpg', 2: 'fotos\\pessoa.1.3.jpg', 3: 'fotos\\pessoa.2.1.jpg', 4: 'fotos\\pessoa.2.2.jpg', 5: 'fotos\\pessoa.2.3.jpg'}

我想获取包含“pessoa.1”作为子字符串的元素的所有索引,并将它们从列表中删除。

到目前为止我已经尝试过了,但不起作用:

r = [i for i in indices if "pessoa.1" in i]
print(r)

最佳答案

作为你问题的输出,我看到了字典。

{0: 'fotos\pessoa.1.1.jpg', 1: 'fotos\pessoa.1.2.jpg', 2: 'fotos\pessoa.1.3.jpg', 3: 'fotos\pessoa.2.1.jpg', 4: 'fotos\pessoa.2.2.jpg', 5: 'fotos\pessoa.2.3.jpg'}

如果你将“index”理解为字典中的键,只需迭代它即可。

indexes = []
for index, value in indices.items():
    if 'pessoa.1' in value:
        indexes.append(index)
for index in indexes:
    del indices[index]

关于python - 查找列表中带有子字符串的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57647275/

相关文章:

java - 如何在 Java 中生成连续整数的列表或数组?

regex - 如何在 Notepad++ 正则表达式查找/替换中保留括号

python - 连接字符串的大多数 Pythonic 方式

python - 计算 Pandas 的累积复合返回

java - 斐波那契迭代移入数组[]

python - 如何 "scale"一个 numpy 数组?

search - Sublime Text 'find in files' 在查找结果中给出 <binary>

c++ - 如何在二叉搜索树中查找元素?

Python套接字发送在多次调用recv后不起作用

python - Django 根据用户输入查询数据库