在字符串列表中查找邻居

塞巴斯蒂安·戈斯林

我有一个列表和一个集合,我想从列表中的集合中查找某个元素的所有出现,并将字符串放在集合中单词的左右两侧。

我现在写的是:

unique_set = set(text)
context_key = {}
bad_counter = 0

for i,j in enumerate(unique_set):
    context_list = []
    if j in text:
        context = []
        context.append(text[i-1])
        context.append(text[i])
        context.append(text[i+1])
        if j in context:
            context_list.append(context)
            context_key[j] = context_list
        else:
            bad_counter += 1

print(bad_counter)
print(context_key)

这似乎实际上遍历了集合和列表,但是我在其中放置了计数器,以查看缺少的值没有累加多少,因为全文列表的长度约为130k,所以15k的丢失应该是不好的,但是曾经只有3 k,v对让我失望。这是输出:

15928
{'compost': [['gardens', 'compost', 'heaps']], 'extra': [['color', 'hair', 'extra']], 'commercial': [['commercial', 'first', 'came']]} 

这样做的最终目标是将集合中的唯一值作为dict键添加到context_key以及包含该值作为dict值的任何列表的后面。context_key

它有助于

考虑到uniqueset您声明的内容仅是set输入的内容,因此预先构建它只会使您的代码进行更多可避免的迭代。我会避免先构建set,而只是迭代获取的值。

通过调用以下方法的keys()方法,您可以轻松地从以下过程的输出字典中检索相同的唯一数据

而且,在python listO(n)中插入时,我也会避免使用它们。使用具有恒定访问权限的数据结构dict可以使工作更快。

这是避免这些陷阱的解决方案。

def parse(input_file):

    with open(f'{input_file}', 'r') as f:
        data = f.read().split()

    size = len(data)
    indexes = dict()
    for i, x in enumerate(data):
        if x not in indexes:
            indexes[x] = dict()
        indexes[x][i] = (data[i-1]if i>0 else None, data[i+1]if i<size-2 else None)

    return indexes

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在字符串列表中查找日期

在字符串列表中查找模式

使用Python在字符串列表中查找字符串列表中的项目索引

使用python将子字符串列表查找到字符串列表中

查找字符串列表中的差異

在字符串列表中查找常见项目

在字符串列表中查找完全匹配

如何查找ML字符串列表中的出现次数?

在数据框字符串列中查找单词列表

从字符串列表中查找几乎匹配的词组

从字符串列表中查找最常用的单词

在字符串列表中查找子模式

从数据集中的字符串列表中查找出现

从字符串列表中查找包含字符以及字符+数字的组合的字符串

从python中的字符串列表中查找包含特殊字符的字符串

在字符串列表中查找未排序列表的字符串索引

如何在父字符串列表中查找与子字符串列表相对应的索引

在迭代字符串列表以在Python的字符串列表中查找匹配项时搜索特定值

TensorFlow中的查找表,键是字符串,值是字符串列表

在分割字符串列表中查找字符串

在许多字符串列表中查找相似字符串的算法

在给定的字符串列表中查找字符串的所有字谜

如何在字符串列表中查找出现最多的字符串?

比较字符串和字符串列表以查找Python中的字谜

如何在字符串列表中查找最频繁的字符串

Python:在字符串列表中查找子字符串

在 Python 中查找 2 个子字符串组合之间的字符串列表

Python-查找字符串中字符串列表的出现

使用LINQ在字符串列表中查找包含字符串的对象