我有字典结构。例如:
dict = {key1 : value1 ,key2 : value2}
我想要的是组合键和值
的字符串需要的字符串 - >> key1_value1,key2_value2
任何Pythonic获得此方法都会有所帮助。
谢谢
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())
答案 0 :(得分:18)
list
键值str
s,
>>> 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
在break
之后你可能还想要print
- 很难确切知道这是为了什么。
答案 1 :(得分:3)
假设Python 2.x,我会使用类似这样的东西
dict = {'key1': 'value1', 'key2': 'value2'}
str = ''.join(['%s_%s' % (k,v) for k,v in dict.iteritems()])
答案 2 :(得分:0)
def checkCommonNodes(id, rs):
k,v = id.split('_')
for d in rs:
if d.get(k) == v:
return id
retun None