如何删除字典中的第一行?

2024-05-17 03:42:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典,我想从字典中删除每一行。e、 g我想在字典中删除这个。 {'date': '', 'obsolete': False}


[{'date': '', 'obsolete': False},
 {'date': '2021-01-02',
  'obsolete': True,
  'sku': '100940478',
  'warehouse_location': 'lagos',
  'quantity': '23'},
 {'date': '', 'obsolete': False},
 {'date': '2020-11-09',
  'obsolete': False,
  'sku': '100940479',
  'warehouse_location': 'lagos',
  'quantity': '84'},
 {'date': '', 'obsolete': False},
 {'date': '2021-01-15',
  'obsolete': True,
  'sku': '100940480',
  'warehouse_location': 'oyo',
  'quantity': '11'}]

Tags: falsetruedate字典locationwarehousequantityobsolete
3条回答

让我们首先将数组分配给变量:

data = [
    {'date': '', 'obsolete': False},
    {'date': '2021-01-02', 'obsolete': True, 'sku': '100940478', 'warehouse_location': 'lagos', 'quantity': '23'},
    {'date': '', 'obsolete': False},
    {'date': '2020-11-09', 'obsolete': False, 'sku': '100940479', 'warehouse_location': 'lagos', 'quantity': '84'},
    {'date': '', 'obsolete': False}, 
    {'date': '2021-01-15', 'obsolete': True, 'sku': '100940480', 'warehouse_location': 'oyo', 'quantity': '11'}
]

现在,我们可以遍历数据数组中的每个元素(字典),根据它们的键名而不是索引删除所需的元素,因为字典的元素是无序的:

for dict_item in data:
    dict_item.pop('date')
    dict_item.pop('obsolete')

然后打印出数据变量以查看结果:

print(data) # Will output the array of dictionaries without the 'date' and 'obsolete' keys

字典里没有行的概念。但您可以删除某些键。见How can I remove a key from a Python dictionary?

我想这可能就是你该做的。它删除列表中内容为{'date': '', 'obsolete': False}的所有词典:

from pprint import pprint


OBSOLETE = {'date': '', 'obsolete': False}

dict_list = [{'date': '', 'obsolete': False},
             {'date': '2021-01-02',
              'obsolete': True,
              'sku': '100940478',
              'warehouse_location': 'lagos',
              'quantity': '23'},
             {'date': '', 'obsolete': False},
             {'date': '2020-11-09',
              'obsolete': False,
              'sku': '100940479',
              'warehouse_location': 'lagos',
              'quantity': '84'},
             {'date': '', 'obsolete': False},
             {'date': '2021-01-15',
              'obsolete': True,
              'sku': '100940480',
              'warehouse_location': 'oyo',
              'quantity': '11'}]

cleaned_list = [d for d in dict_list if d != OBSOLETE]

pprint(cleaned_list, sort_dicts=False)

输出:

[{'date': '2021-01-02',
  'obsolete': True,
  'sku': '100940478',
  'warehouse_location': 'lagos',
  'quantity': '23'},
 {'date': '2020-11-09',
  'obsolete': False,
  'sku': '100940479',
  'warehouse_location': 'lagos',
  'quantity': '84'},
 {'date': '2021-01-15',
  'obsolete': True,
  'sku': '100940480',
  'warehouse_location': 'oyo',
  'quantity': '11'}]

相关问题 更多 >