簡體   English   中英

用括號將每個元素拆分為變量並查找出現的位置

[英]Split each element by bracket in variable and find occurrence

我有一個文本文件,其中附加了數組 '圖片' 我想要做的是從文本文件中提取它,並計算出文本文件中每個單詞的index[2]出現了多少次。 例如輪齒發生一次等等。然后我將使用它來繪制圖形。

問題是,當我導入文件時,它以列表中的列表的形式出現

with open("wrongWords.txt") as file:
    array1 = []
    array2 = [] 
    for element in file:
        array1.append(element)    
    x=array1[0]
    print(x)

打印x給我

(12, 'a', 'hablar', 'to speak')(51, 'a', 'ocurrir', 'to occur/happen')(12, 'a', 'hablar', 'to speak')(2, 'a', 'poder', 'to be able')(11, 'a', 'llamar', 'to call/name')

要將string轉換為list ,請執行以下操作:

>>> s = "(12, 'a', 'hablar', 'to speak')(51, 'a', 'ocurrir', 'to occur/happen')(12, 'a', 'hablar', 'to speak')(2, 'a', 'poder', 'to be able')(11, 'a', 'llamar', 'to call/name')"
>>> s = s.replace(')(', '),(')
# s = "(12, 'a', 'hablar', 'to speak'),(51, 'a', 'ocurrir', 'to occur/happen'),(12, 'a', 'hablar', 'to speak'),(2, 'a', 'poder', 'to be able'),(11, 'a', 'llamar', 'to call/name')"

>>> my_list = list(eval(s))
# my_list = [(12, 'a', 'hablar', 'to speak'), (51, 'a', 'ocurrir', 'to occur/happen'), (12, 'a', 'hablar', 'to speak'), (2, 'a', 'poder', 'to be able'), (11, 'a', 'llamar', 'to call/name')]

為了讓每個計數key中(在你的情況下,在指數2) list

>>> my_dict = {}
>>> for item in my_list:
...     my_dict[item[2]] = my_dict.get(item[2], 0) + 1
...
>>> my_dict
{'hablar': 2, 'ocurrir': 1, 'poder': 1, 'llamar': 1}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM