簡體   English   中英

在緊湊型Python詞典中追加到鍵值列表中的列表

[英]Appending to list within key value list in compact Python dictionary

我正在尋找評估是否有更好的方法來追加到詞典列表中的列表中。

我有許多不同的數據包和關聯的字符串可在巨大的文本文件中進行搜索。 與每個字符串相關聯的是我想存儲在列表中的值,以便我可以執行諸如平均值/最大值/最小值之類的計算。

由於數據包的變化和每個數據包的關聯字符串,我希望將字典條目保持在一行。 因此,我將使用Key作為數據包ID,並將其值作為元素列表,請參見下文

mycompactdict={
    "packetID_001":[12,15,'ID MATCH',[['search_string',[]  ],['search_string2',[]  ]]]
    "packetID_002":[...etc]
}

12,15個整數是我以后在Excel繪圖中使用的參考。 我首先要檢查“ ID_MATCH”條目,以查看數據包ID是否與文件對象匹配。 “ search_string”引用是我要查找的字符串,在它們旁邊的空白列表是我希望在文本文件中分割行之后刪除與每個搜索字符串關聯的值的地方。

現在,我可能比Python可以咀嚼的更多。。。我意識到字典中有一個列表中的一個列表中的一個列表!

這是我的代碼的開始...

def process_data(file_object):
    split_data = file_object.split('\n')
    for key in mycompactdict:
        if mycompactdict[key][2] in file_object:
            for line in split_data:
                if item[0] for item in mycompactdict[key][3] in line:
                    value = line.split('=', 1)
                    value.strip()
                    print value

然后將剝離的值附加到mycompactdict [key] [6] item [1]

我是否使用了錯誤的方法,這會在以后導致性能問題,並且有更清潔的替代方法嗎?

下面是一個unicode文本塊中的file_object的示例,我需要考慮匹配和不同的數據包ID。

14:27:42.0  ID_21 <<(ID_MATCH)
Type = 4
Fr = 2
search_string1 = -12
search_string2 = 1242

如果您處於您的位置,我不會嘗試重新發明輪子。 因此,我將使用Pandas 它有一個叫做DataFrames的東西,非常適合您要嘗試做的事情。 另外,您可以將它們導出到exel電子表格中 看看10分鍾的介紹

暫無
暫無

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

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