我有这个返回列表列表的代码,我想高效地只返回一个列表,我该如何实现呢?
def GetCast(path,key,Ids):
list=[]
for n in Ids:
l=requests.get(path + str(n) + '/credits',key )
data= l.json()
cast_Ids= [i['name'] for i in data['cast']]
list.append(cast_Ids)
return list发布于 2018-09-06 13:51:55
只要改变就好
list.append(cast_Ids)通过
list.extend(cast_Ids) # variant: list += cast_Ids(从现在开始不要使用list,因为它是list类型的内置名称)
或者在一行中使用扁平化列表理解(我还没有测试过这一点,它不是特别容易阅读):
lst = [i['name'] for n in Ids for i in requests.get(path + str(n) + '/credits',key ).json()['cast']]https://stackoverflow.com/questions/52197289
复制相似问题