【Python百日刷题计划】各种数据类型用法以及函数和生成器使用

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【Python百日刷题计划】各种数据类型用法以及函数和生成器使用

目录

🗣️前言

👥题目一

👣解析

👣答案

👥题目二

👣解析

👣答案

👥题目三

👣解析 

👣答案

👥题目四

👣解析

👣答案

👥题目五

👣解析

👣答案

🗣️最后



🗣️前言

💌 本次的题目主要向各位小伙伴们介绍的Python经典例题 <各种数据类型用法以及函数和生成器使用> ,带各位掌握Python基础,希望各位小伙伴们能够在这里收获到更多知识!让我们一起学习!一起进步!

👥题目一

1

👣解析

用到知识点:生成器中的各种推导式,函数的使用

👣答案

def main(lst):
    return [i for i in lst if i>=(sum(lst)/len(lst))]  #这是生成器中的列表推导式



👥题目二

 

👣解析

需要使用到if语句,列表的各种操作方法,函数的使用

👣答案

def main(lst,item):
    if item in lst:            #先判断列表中是否存在这个数
        return lst.index(item) #列表中index方法的使用
    else:
        return '不存在'



👥题目三

 

👣解析 

本题的 难度过小,主要考察对内置函数的掌握情况

👣答案

def main(p,q):
    return divmod(p,q)    #内置divmod函数返回的就是商和余数的元祖



👥题目四

👣解析

 这道题目有点难想到,主要使用到的方法就是内置函数的使用,至于是哪一个就要自己思考了

👣答案

def main(num):
    return sum(map(int,str(num)))

先来说为什么要str(num):

由map() 函数语法:map(function, iterable, ...),因为接收了一个整数num是不可迭代的,而map语法要是个可迭代的所以利用数据类型强制转换将num转化为可迭代的字符串数据类型就可以满足map函数的使用条件了。

以下是便于理解的代码,现在分开来一步一步讲解

  1. 先来讲内部的map(int,str(num))这一步的目的
a = 1234567
print(map(int,str(a)))
for i in map(int,str(a)):
    print(i)

输出结果:
<map object at 0x000001FEB8AAF0D0>
1
2
3
4
5
6
7

  1. 再来讲外层的sum函数,sum函数语法为sum(args, *kwargs),sum接收了第一步传入的动态参数将其相加就得到了结果


👥题目五

👣解析

第五题也是这几个题目中最难的题目了,它考了我们内置函数,运算符的使用,还添加了很多限制功能

👣答案

先来演示我一开始的错误答案,在这个软件上显示是错误的

但在Python中运行这段代码是这样的

 不严谨的原因是转化为set(lst)后虽然去重了,但生成集合是无序的,之后在list(set(lst))也可能是无序的,这与题意要求的顺序是不匹配的

正确解答

对答案中lst2.sort(key=lst.index)进行解释,注释非常详细。

li = [1,2,3]
print(li.index)
#print(li.index),输出的那一串为函数名(函数在内存中的地址)
#若b也是一个列表,b.sort(key=a.index), 
#其中key为形参,接收类型必须为函数。
#即列表b中的每个元素都要经过a.index函数做映射(y=f(x)),
#按映射值大小进行排序
#通俗来说进行b.sort(key=a.index)后b会按a列表的顺序排列。

输出结果:
<built-in method index of list object at 0x0000026A26484B00>

🗣️最后

**💖💖💖感谢各位能够看到这里💖💖💖:在鲁迅一篇未发表的文章中说过:“代码看懂了不是懂✨一定要自己实际操作哇✨这样才能更好的理解和吸收。”\
最后来一句:一个人可以在任何他怀有无限热忱的事情上成功,让我们一起进步吧✨✨**
相关文章
|
15天前
|
Python
python基本用法
【9月更文挑战第5天】python基本用法
35 7
|
3天前
|
并行计算 开发者 Python
高效利用Python中的生成器提高内存管理
在处理大量数据或执行复杂计算时,内存管理成为关键问题。Python中的生成器(Generators)提供了一种优雅的解决方案,通过惰性计算和节省内存的方式显著提高程序的效率。本文将探讨生成器的基本概念,实际应用场景,以及如何利用生成器优化内存使用和提高程序性能。
|
6天前
|
人工智能 数据挖掘 开发者
Python用法
Python用法
19 10
|
3天前
|
Python
全网最适合入门的面向对象编程教程:Python函数方法与接口-函数与方法的区别和lamda匿名函数
【9月更文挑战第15天】在 Python 中,函数与方法有所区别:函数是独立的代码块,可通过函数名直接调用,不依赖特定类或对象;方法则是与类或对象关联的函数,通常在类内部定义并通过对象调用。Lambda 函数是一种简洁的匿名函数定义方式,常用于简单的操作或作为其他函数的参数。根据需求,可选择使用函数、方法或 lambda 函数来实现代码逻辑。
|
5天前
|
存储 程序员 数据处理
深入理解Python生成器及其应用
本文将探讨Python生成器的基本概念、工作原理及其在实际编程中的多种应用场景。通过实例解析,帮助读者更好地理解和掌握这一强大的编程工具。
|
17天前
|
Python
python 函数
【9月更文挑战第4天】python 函数
36 5
|
3天前
|
Unix 编译器 C语言
[oeasy]python034_计算机是如何认识abc的_ord函数_字符序号_ordinal_
[oeasy]python034_计算机是如何认识abc的_ord函数_字符序号_ord
10 0
|
3天前
|
数据处理 开发者 Python
探索Python中的列表推导式在Python编程中,列表推导式是一种简洁而高效的方法,用于从现有的列表创建新列表。本文将深入探讨列表推导式的用法、优势以及一些实际应用示例。
列表推导式是Python提供的一种强大工具,它允许开发者以更简洁的语法快速生成列表。通过结合循环和条件语句,列表推导式能够简化代码结构,提高开发效率。本文详细介绍了列表推导式的基本用法,并通过实例展示了其在数据处理、转换和过滤中的广泛应用。
10 0
|
17天前
|
数据采集 自然语言处理 数据挖掘
python查询汉字函数
简洁、高效、易懂的代码对于提高开发效率与项目质量至关重要,并且对于维持代码的可读性和可维护性也有着很大帮助。选择正确的工具和方法可以大幅提升处理中文数据的效率。在编写用户定义函数时,明确函数的功能与返回值类型对于函数的复用和调试也同样重要。当涉及到复杂的文本处理或数据分析时,不宜过分依赖单一的工具或方法,而应根据具体需求灵活选择和组合不同的技术手段。
22 0
|
4月前
|
算法 Python 容器
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
63 0