我有以下列表:
lis = ['hi how are you', 'pretty good', 'lore lipsum dolor done', 'done lipsum dolor', 'lipsum dolor done', 'lipsum lore done', 'greetings']
以下函数,即使用请求库调用API:
def my_req(text):
payload = {'txt': text, 'param1': param1,
'param2': param2, 'param3': param3, 'param4': param4}
r = requests.get('http://api.exmaple.com', params=payload, stream = True)
try:
json_data = json.dumps(r.json())
except JSONDecodeError:
np.nan
data = yaml.load(json_data)
foo(data['index'])
return foos_list
我想将该函数应用于lis
的每个元素。因此,我尝试了这个:
在:
lis = [my_req(item) for item in [lis]]
答案 0 :(得分:0)
试试这个:
for i in range(len(lis)):
lis[i] = [my_req(item) for item in lis[i][0].split()]
答案 1 :(得分:0)
根据您的问题描述和示例数据,您的输入是一个字符串列表列表,其中每个子列表的长度为1,您需要这样:
[my_req(item[0]) for item in lis]
这将返回元组列表的列表。如果要展平它,请使用itertools
:
list(itertools.chain.from_iterable(my_req(item[0]) for item in lis))