300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python习题003--接收一个包含若干数的列表参数lst 返回一个元组 其中第一个元素为列

python习题003--接收一个包含若干数的列表参数lst 返回一个元组 其中第一个元素为列

时间:2024-05-14 15:05:57

相关推荐

python习题003--接收一个包含若干数的列表参数lst 返回一个元组 其中第一个元素为列

目录

一,题目展示:

二,给定条件,使用到map函数

三,不使用map函数

一,题目展示:

二,给定条件,使用到map函数

观察给定的条件(代码),大家可能会认为使用到了集合的嵌套list(map(func,data)),然而并不是,这里的map并没有创建一个map映射集合,而是返回了一个迭代器,该迭代器和集合密不可分,它在集合中充当一种工具,可以让我们很方便的对集合进行相关的处理和操作。拿这道题中的map函数来说,它需要传入两个参数,第一个参数是函数,该函数用于第二个传入的参数序列的计算。

当我们往map函数中分别传入float和列表序列的时候,map函数就会将列表序列中的所有元素以此转换成float类型的数据,并会返回一个迭代器iterator。这个时候我们就可以使用list来将其转换成列表,并使用一个变量来接收即可:

# -*- encoding: utf-8 -*-"""@author:码到成龚motto:"听闻少年二字,应与平庸相斥。""""if __name__ == '__main__':# 1 2 3 4 1 2 1:测试lst = input().split(" ") # 输入字符串,并按照空格分开float_list_input = list(map(float, lst)) # map函数可以将列表中的元素都转换成float类型的数据,并使用list集合包裹,形成列表def func(float_list_input): # 定义一个函数,传入的参数为含有浮点型数据的列表tup = (min(float_list_input),) # 定义一个列表,并将列表中最小的元素添加进去for i in range(len(float_list_input)):if float_list_input[i] == min(float_list_input): # 遍历列表,判断该值和最小值是否一样tup += (i,) # 将符合条件的索引添加到元组中return tup # 函数的返回值为tup元组print(func(float_list_input))

三,不使用map函数

如果我不按照题目已经给出的条件来编写的代码的话,我写出来的代码应该使下面这样的:

# -*- encoding: utf-8 -*-"""@author:码到成龚motto:"听闻少年二字,应与平庸相斥。""""if __name__ == '__main__':lst=input().split(" ") # 输入字符串,并按照空格分开def func(lst): # 定义方法tu=(float(min(lst)),) # 先向元组中传入第一个元素,并将该元素转换成float类型for i in range(len(lst)): # 遍历列表if lst[i]==min(lst):# 找到最小的元素在列表中哪些位置出现过tu+=(i,) # 添加进元组return tu # 返回元组print(func(lst)) # 调用方法

,其实两个都一样,大同小异,只是在比较两种方法的时候,感觉还是之前的map函数用得妙,这里就只供参考,如果觉得有什么疑问的可以在评论区留言。

python习题003--接收一个包含若干数的列表参数lst 返回一个元组 其中第一个元素为列表lst中的最小值 其余元素为最小值在列表lst中的小标索引。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。