gpt4 book ai didi

python - 如何从 Python 中的以下数据类型中删除项目?

转载 作者:太空宇宙 更新时间:2023-11-04 07:45:56 25 4
gpt4 key购买 nike

如果我有以下数据类型:

[('a', 'digital-text'), ('b', 'bbbbbbb'), ('c', '1318913293'), ('d', '1-3')]

如何删除项目 b 以便输出如下所示:

[('a', 'digital-text'), ('c', '1318913293'), ('d', '1-3')]

如何在删除之前检查 b 是否存在?我试过 if 'b' in xxxx 但这找不到它

我是 Python 新手

最佳答案

你可以像这样使用列表推导式:

something = [(key, value) for key, value in something if key != 'b']

但是,出于某种原因,您似乎正在尝试重新发明一本字典。如果不需要排序,就用字典:

something = {
'a': 'digital-text',
'b': 'bbbbbbb',
'c': '1318913293',
'd': '1-3',
}
del something['b']

如果确实需要排序,可以使用collections.OrderedDict而不是dict:

from collections import OrderedDict
something = OrderedDict([
('a', 'digital-text'),
('b', 'bbbbbbb'),
('c', '1318913293'),
('d', '1-3')
])
del something['b']

有了字典,如果您需要以问题中的格式返回它,只需在字典上调用 items()

>>> # assuming something is an OrderedDict and you've already deleted the item
>>> # if it was a plain dict, it might be in a different order
>>> # if you haven't deleted the item, it would still be there
>>> something.items()
[('a', 'digital-text'), ('c', '1318913293'), ('d', '1-3')]

此外,要将问题中的列表转换为某种字典,只需将其传递给它:

>>> dict([
... ('a', 'digital-text'),
... ('b', 'bbbbbbb'),
... ('c', '1318913293'),
... ('d', '1-3')
... ])
{'a': 'digital-text', 'b': 'bbbbbbb', 'c': '1318913293', 'd': '1-3'}

关于python - 如何从 Python 中的以下数据类型中删除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7802893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com