将函数应用于嵌套列表时出现问题?

2024-05-15 04:27:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下清单:

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]]

Tags: 函数textjsondatamyreqpayloadparam1
2条回答

试试这个:

for i in range(len(lis)):
    lis[i] = [my_req(item) for item in lis[i][0].split()]

根据问题描述和示例数据,您的输入是字符串列表,其中每个子列表的长度为1,您需要:

[my_req(item[0]) for item in lis]

这将返回一个元组列表。如果要将其展平,请使用itertools

list(itertools.chain.from_iterable(my_req(item[0]) for item in lis))

相关问题 更多 >

    热门问题