我试图从推文中获取视频网址,A
是从tweety获取的。因为twitter并不能说出哪一个是最高质量的视频,所以我认为我必须比较最高的比特率'并存储' url'与之相对应。这就是我所拥有的。
请耐心等待,我是新来的。
A = [{'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/758995712280412672/pu/pl/X_6gAm0z8TBBbEAR.m3u8'},
{'bitrate': 832000, 'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/758995754280412672/pu/vid/360x640/6nxKFKpdku-qAl__.mp4'},
{'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/758995715280412672/pu/pl/X_6gAm0z8TBBbEAR.mpd'},
{'bitrate': 320000, 'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/758995715280412672/pu/vid/180x320/VqRF6IcnmsLxZIil.mp4'}]
for i, val in enumerate(A):
if 'bitrate' in A[i]:
print(A[i]['bitrate'], A[i]['url'])
此代码生成
832000 https://video.twimg.com/ext_tw_video/758996713280412672/pu/vid/360x640/6nxKFKpdku-qAl__.mp4
320000 https://video.twimg.com/ext_tw_video/758997716280412672/pu/vid/180x320/VqRF6IcnmsLxZIil.mp4
如何将最高[' bitrate']对应的[' url']存储到变量中?
答案 0 :(得分:2)
如果您想获得具有最高比特率的字典(或网址):
这会使用bitrate
键比较字典列表中的项目,并返回具有最高bitrate
的字典。
max(A, key=lambda x:x['bitrate'])['url']
编辑:根据您上面的评论,您当然可以将网址分配给变量。
variable = max(A, key=lambda x:x['bitrate'])['url']
EDIT1:根据您下面的评论 - 您认为没错,您必须从列表中排除这些词典。
这不包括没有比特率的字典。键:
[d for d in A if d.has_key('bitrate')]
所以你必须将A切换到上面的行,结果将是:
variable = max([d for d in A if d.has_key('bitrate')],key=lambda x:x['bitrate'])