Re: [问题] 在字典格式中如何切出指定的值 part2

楼主: MOONY135 (谈无欲)   2016-11-19 23:21:12
※ 引述《busystudent (busystudent)》之铭言:
: 各位好 想再次询问关于字典切字的问题,想要询问“如何有效率的在一份字典中切出指定的所有值”,例如下方的格式中,想要指定share_link,切出里面的值
: j={u'items': [{u'annotations': [],u'share_link': u'a'},
: {u'annotations': [],u'share_link': u'b'},
: {u'annotations': [],u'share_link': u'c'},
: ]}
: 我最一开始的尝试方法为用呼叫的方式,例如print "Value: %s" % j.get('items')[0]['share_link']
: 确实是可以叫出里面的所有值,但是效率非常得差,假若’share_link’出现20次,我就要把括号 [0] 里面的值从0写到19,共重复20次,想请问有什么好的解决方法,提升效率。
: 例如,如下面的虚拟码,改成指定share_link,只要是share_link就把里面的值抓出来
: 虚拟码:
: b = j.findall(‘share_link’)
: print every share_link value
根据前面一个问题
麻烦看这篇
http://pydoing.blogspot.tw/2011/03/python-dictget.html
取到的是你的value 只是刚好你的value也是dict格式
j={u'items': [{u'annotations': []},
{u'share_link': u'http://www.google.com'},
{u'user_id': 8892484},
{u'share_link': u'https://www.yahoo.com.tw'}]}
itemValue= j['items']
for i in itemValue:
if ('share_link' in i):
print(i.values())
作者: s860134 (s860134)   2016-11-20 00:13:00
[i.get('share_link') for i in j.get('items') if 'share_link' in i ]

Links booklink

Contact Us: admin [ a t ] ucptt.com