为lis中的偏移量创建常量

2024-10-02 12:32:45 发布

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

我有一个类似的清单:

host_info = ['stackoverflow.com', '213.213.214.213', 'comments', 'desriprion', 'age']

有时,我需要从列表中删除一个或多个元素,然后将列表返回给调用者。例如,要删除注释项,我将执行以下操作:

host_info.pop(2)

我更喜欢为每一项使用一个常量,而不是一些神奇的数字。你知道吗

然后我可以用:

host_info.pop(comments) # comments is integer 2

枚举这些常量的最佳方法是什么,以便在列表偏移量更改时维护它们很简单?你知道吗


Tags: infocomhost元素列表ageis数字
1条回答
网友
1楼 · 发布于 2024-10-02 12:32:45

最简单的方法是将列表改为字典:

 keys_list = ['host',...]
 host_info = dict(zip(['stackoverflow.com', '213.213.214.213', 'comments', 'desriprion', 'age'], keys_list))

现在,您不必担心键列表,如果从主机信息字典中删除某个项,则不会影响键=>;值关联

或者如果您只有一个主机信息列表:

host_info = {'host':'stackoverflow.com, 'ip':'213.213.214.213',...}

编辑:

要从主机信息中删除密钥,请使用pop

host_info.pop('host')

如果您不确定钥匙是否在那里,可以使用:

host_info.pop('host',None)

或者您可以使用:

if 'host' in host_info:
    del host_info['host']

作为旁注,AdamKG有一个很好的注释,解释说您不想将此转换回列表。你可以这样做:

 host = host_info['host']

这消除了对“键”映射列表的依赖,并将两个列表合并到一个关联容器中。你知道吗

相关问题 更多 >

    热门问题