首页 > 解决方案 > 如何编写函数以使用列表和整数作为参数返回列表元素

问题描述

我正在解决一个问题,我需要定义一个函数 ( get_element),该函数接受两个参数(一个列表和一个整数),然后使用提供的整数作为索引位置值按其索引位置返回一个列表元素。

我得到了一个列表 ( more_elements = ["salad", 33, 3.14, ['dog','cat'], "fish", 19, 18]) 来测试我的功能。

def get_element(a_list, a_int):
    for a_int in a_list:
        int(a_int)
    return a_list[a_int]

这就是我当前的代码。但是,当我尝试运行它时,出现错误invalid literal for int() with base 10: 'salad'

我不确定这个错误是什么意思。我究竟做错了什么?

标签: python

解决方案


对于您的问题的解决方案,您不需要 for 循环,因为您的返回调用已经满足了要求。

发生错误是因为您试图将字符串 ('salad') 转换为数字,这在以 10 为底的空间中不起作用;)。基本上,您现在使用 for 循环的方式是在“a_list”上进行迭代(循环)并尝试将每个元素转换为整数,但这对于该列表中的大多数字符串和列表很可能会失败。


推荐阅读