簡體   English   中英

如何將dict_keys列表轉換為整數

[英]How can I convert a dict_keys list to integers

我試圖找到一種將dict_keys()中的列表轉換為整數的方法,以便可以將其用作發送到另一個系統的觸發器。 我的代碼(如下)導入了一個列表,該列表包含100個單詞(一個txt文件,每個單詞在新行中),這些列表屬於10個類別(例如,前10個單詞屬於類別1,第二個10個單詞屬於類別2,依此類推... )。

碼:

from numpy.random import choice
from collections import defaultdict

number_of_elements = 10

Words = open('file_location').read().split()

categories = defaultdict(list)
for i in range(len(words)):
    categories[i/number_of_elements].append(words[i])

category_labels = categories.keys()

category_labels

輸出量

dict_keys([0.0, 1.1, 2.0, 3.0, 4.9, 5.0, 0.5, 1.9, 8.0, 9.0, 1.3, 2.7, 3.9, 9.2, 9.4, 7.2, 4.2, 8.6, 5.1, 5.4, 3.3, 1.0, 6.6, 7.4, 7.7, 8.4, 5.8, 9.8, 0.7, 8.8, 2.1, 7.0, 6.4, 4.3, 0.1, 2.5, 3.8, 1.2, 6.9, 7.1, 5.6, 0.4, 5.3, 2.9, 7.3, 3.5, 9.5, 8.2, 2.8, 3.1, 0.9, 2.3, 8.1, 4.0, 6.3, 6.7, 4.5, 0.2, 1.7, 2.2, 8.9, 1.4, 7.6, 9.1, 7.8, 5.5, 4.8, 0.6, 3.2, 2.4, 6.5, 9.9, 9.6, 1.5, 6.0, 3.7, 4.7, 3.4, 5.9, 4.1, 1.6, 6.8, 9.3, 3.6, 8.5, 8.7, 0.3, 0.8, 7.5, 5.2, 2.6, 4.6, 5.7, 7.9, 6.1, 1.8, 8.3, 6.2, 9.7, 4.4])

我需要的:

我想要點之前的第一個數字(例如,如果是6.7,我只想將6作為整數)。

預先感謝您的任何幫助和/或建議!

只需使用列表推導將鍵轉換為整數即可; 注意,這里不需要調用.keys() ,因為直接在字典上進行迭代就足夠了:

[int(k) for k in categories]

您可能希望將值直接存儲到整數類別中,而不是按浮點值進行存儲:

categories = defaultdict(list)
for i, word in enumerate(words):
    categories[int(i / number_of_elements)].append(word)

我使用enumerate()將單詞與它們的索引配對,而不是使用range()加索引回到words

暫無
暫無

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

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