Python从Python字典中获取字符串(key+value)

2024-05-12 13:39:13 发布

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

我有字典结构。例如:

dict = {key1 : value1 ,key2 : value2}

我想要的是组合键和值的字符串

所需字符串-->;>;键1值1,键2值2

任何Python式的方法都有帮助。

谢谢

def checkCommonNodes( id  , rs):
     for r in rs:
         for key , value in r.iteritems():
             kv = key+"_"+value
             if kv == id:
                 print "".join('{}_{}'.format(k,v) for k,v in r.iteritems())

Tags: key字符串ingtidfor字典value
3条回答

一个list的键值strs

>>> d = {'key1': 'value1', 'key2': 'value2'}
>>> ['{}_{}'.format(k,v) for k,v in d.iteritems()]
['key2_value2', 'key1_value1']

或者如果你想要一个包含所有键值对的字符串

>>> ', '.join(['{}_{}'.format(k,v) for k,v in d.iteritems()])
'key2_value2, key1_value1'

编辑:

也许你在找这样的东西

def checkCommonNodes(id, rs):
    id_key, id_value = id.split('_')
    for r in rs:
        try:
            if r[id_key] == id_value:
                print "".join('{}_{}'.format(k,v) for k,v in r.iteritems())
        except KeyError:
            continue

你可能还想breakprint之后break-很难确切地知道这是为了什么。

假设Python2.x,我将使用如下

dict = {'key1': 'value1', 'key2': 'value2'}
str = ''.join(['%s_%s' % (k,v) for k,v in dict.iteritems()])
def checkCommonNodes(id, rs):
   k,v = id.split('_')
   for d in rs:
       if d.get(k) == v:
           return id
   retun None

相关问题 更多 >