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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 【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>

🗣️最后

**💖💖💖感谢各位能够看到这里💖💖💖:在鲁迅一篇未发表的文章中说过:“代码看懂了不是懂✨一定要自己实际操作哇✨这样才能更好的理解和吸收。”\
最后来一句:一个人可以在任何他怀有无限热忱的事情上成功,让我们一起进步吧✨✨**
相关文章
|
30天前
|
存储 索引 Python
|
25天前
|
测试技术 数据安全/隐私保护 Python
探索Python中的装饰器:简化和增强你的函数
【10月更文挑战第24天】在Python编程的海洋中,装饰器是那把可以令你的代码更简洁、更强大的魔法棒。它们不仅能够扩展函数的功能,还能保持代码的整洁性。本文将带你深入了解装饰器的概念、实现方式以及如何通过它们来提升你的代码质量。让我们一起揭开装饰器的神秘面纱,学习如何用它们来打造更加优雅和高效的代码。
|
27天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
29天前
|
Python
python的时间操作time-函数介绍
【10月更文挑战第19天】 python模块time的函数使用介绍和使用。
31 4
|
1月前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
22 1
|
21天前
|
存储 程序员 数据处理
深入理解Python中的生成器与迭代器###
本文将探讨Python中生成器与迭代器的核心概念,通过对比分析二者的异同,结合具体代码示例,揭示它们在提高程序效率、优化内存使用方面的独特优势。生成器作为迭代器的一种特殊形式,其惰性求值的特性使其在处理大数据流时表现尤为出色。掌握生成器与迭代器的灵活运用,对于提升Python编程技能及解决复杂问题具有重要意义。 ###
|
4天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
10天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
10天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
10天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
下一篇
无影云桌面