gpt4 book ai didi

使用正则表达式的键的 Python 字典搜索值

转载 作者:IT老高 更新时间:2023-10-28 22:14:35 34 4
gpt4 key购买 nike

我正在尝试实现在 Python 字典中搜索特定键值的值(使用正则表达式作为键)。

例子:

我有一个 Python 字典,它的值如下:

{'account_0':123445,'seller_account':454545,'seller_account_0':454676, 'seller_account_number':3433343}

我需要搜索键为“seller_account”的值?我写了一个示例程序,但想知道是否可以做得更好。主要原因是我不确定正则表达式并错过了一些东西(比如我如何为以'seller_account'开头的键设置re):

#!usr/bin/python
import re
my_dict={'account_0':123445,'seller_account':454545,'seller_account_0':454676, 'seller_account_number':3433343}

reObj = re.compile('seller_account')

for key in my_dict.keys():
if(reObj.match(key)):
print key, my_dict[key]

~ home> python regular.py

seller_account_number 3433343
seller_account_0 454676
seller_account 454545

最佳答案

如果您只需要检查以 "seller_account" 开头的 key ,则不需要正则表达式,只需使用 startswith()

my_dict={'account_0':123445,'seller_account':454545,'seller_account_0':454676, 'seller_account_number':3433343}

for key, value in my_dict.iteritems(): # iter on both keys and values
if key.startswith('seller_account'):
print key, value

或以 one_liner 方式:

result = [(key, value) for key, value in my_dict.iteritems() if key.startswith("seller_account")]

注意:对于 python 3.X 使用,将 iteritems() 替换为 items() 并且不要忘记添加 () 用于打印

关于使用正则表达式的键的 Python 字典搜索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10795973/

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