亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從字典中提取特定的列鍵和值?

如何從字典中提取特定的列鍵和值?

楊__羊羊 2022-01-05 10:11:48
我目前有一個包含一個鍵的字典,以及大約 30 列字符串和整數格式的值。例如:Message: '0409-01:51:02.577'Arguments: (['29', '30', '37', '5463', '84338', 'ABCD', 'x-abc1', 'xxx', '1A234BCD5EFG67890H1234IJ', 'ABCDEF', '02DA', '123456789', '1234567890', '1234567890', '1A234BCD5', '911', '1A234BCD5EF', '0', '12', '7', '1', '_', 'XY', 'ABC', '1A234BCDEF', 'ABCDEF', '1A234BCD', '1A234BCD', '1A234BCDDFW', 'L', '1'],)我正在嘗試`k`, `v[5]`, `v[12]`, `v[28]`, `v[25]`, `v[22`], `v[23]`, `v[9]`按該順序提取到新的字典或列表中。我試過在 list 和 dict 之間變化,我嘗試了一行與多行。不幸的是,我無法更改傳入的 dict,因為我正在從四個不同的來源提取數據來構建它。abcdef = ('ABC', 'DEF')incoming_files = {0409-01:51:02.577:['29', '30', '37', '5463', '84338', 'ABCD', 'x-abc1', 'xxx', '1A234BCD5EFG67890H1234IJ', 'ABCDEF', '02DA', '123456789', '1234567890', '1234567890', '1A234BCD5', '911', '1A234BCD5EF', '0', '12', '7', '1', '_', 'XY', 'ABC', '1A234BCDEF', 'ABCDEF', '1A234BCD', '1A234BCD', '1A234BCDDFW', 'L', '1']}tc_wfiles = {}    for k, v in incoming_files.items():        if any(c in v for c in abcdef):            try:                self.tc_wfiles[k] = incoming_files[k]                self.tc_wfiles[k].append(incoming_files[k][5])                self.tc_wfiles[k].append(incoming_files[k][12])                self.tc_wfiles[k].append(incoming_files[k][28])                self.tc_wfiles[k].append(incoming_files[k][25])                self.tc_wfiles[k].append(incoming_files[k][22])                self.tc_wfiles[k].append(incoming_files[k][23])                self.tc_wfiles[k].append(incoming_files[k][9])            except IndexError:                pass應該發生的是關鍵,這些值被放置在一個新的字典或列表中。然而,我得到的是關鍵字段中的整行,然后是值項目。
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

我不確定這是否能回答你的問題,因為你沒有指出正確的結果應該是什么......但如果沒有別的,也許這會給你一些見解。


abcdef = ('ABC', 'DEF')

incoming_files = {'0409-01:51:02.577': ['29', '30', '37', '5463', '84338',

                                        'ABCD', 'x-abc1', 'xxx',

                                        '1A234BCD5EFG67890H1234IJ', 'ABCDEF',

                                        '02DA', '123456789', '1234567890',

                                        '1234567890', '1A234BCD5', '911',

                                        '1A234BCD5EF', '0', '12', '7', '1', '_',

                                        'XY', 'ABC', '1A234BCDEF', 'ABCDEF',

                                        '1A234BCD', '1A234BCD', '1A234BCDDFW',

                                        'L', '1']}


tc_wfiles = {}

for k, v in incoming_files.items():

    if any(c in v for c in abcdef):

        try:

            tc_wfiles[k] = [k]

            tc_wfiles[k].append(v[5])

            tc_wfiles[k].append(v[12])

            tc_wfiles[k].append(v[28])

            tc_wfiles[k].append(v[25])

            tc_wfiles[k].append(v[22])

            tc_wfiles[k].append(v[23])

            tc_wfiles[k].append(v[9])

        except IndexError as exc:

            print('exception:', exc)


from pprint import pprint

pprint(tc_wfiles)

輸出:


{'0409-01:51:02.577': ['0409-01:51:02.577',

                       'ABCD',

                       '1234567890',

                       '1A234BCDDFW',

                       'ABCDEF',

                       'XY',

                       'ABC',

                       'ABCDEF']}


查看完整回答
反對 回復 2022-01-05
  • 1 回答
  • 0 關注
  • 246 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號