python每日一练(9)

 

 🌈write in front🌈
🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流.
🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如需转载还请通知⚠️
📝个人主页:Aileen_0v0🧸—CSDN博客
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
📣系列专栏:Aileen_0v0🧸的PYTHON学习系列专栏——CSDN博客
🗼我的格言:"没有罗马,那就自己创造罗马~" 

目录

(1)相反顺序输出列表

split()函数

map()函数

sort()方法

(2)对10个数进行排序。


(1)相反顺序输出列表


按相反的顺序输出列表的值。

# 相反顺序输出列表
# 按相反的顺序输出列表的值。list1 = [1,2,3,4,5,[23,20],"pig"]#tip1:通过reverse反转列表
list1.reverse()
print(list1)#tip2:通过列表切片进行反转
list = list1[::-1]
print(list)

split()函数

在Python中,split()函数是一个非常常用的字符串方法,它可以将一个字符串按照指定的分隔符拆分成多个子串,并返回一个包含子串的列表。

split()函数的语法如下:

str.split([sep [,maxsplit]])

其中,str表示要进行分割的原字符串,sep是分隔符,如果不指定分隔符,默认使用空格作为分隔符。maxsplit表示分割的最大次数,如果指定了该参数,则最多只能分割出maxsplit+1个子串,如果不指定则不限制分割次数。

下面是一些使用split()函数的例子:

s = "hello world"# 不指定分隔符时,默认使用空格作为分隔符
words = s.split()
print(words)  # ['hello', 'world']# 指定分隔符为逗号
s = "apple,banana,orange"
fruits = s.split(",")
print(fruits)  # ['apple', 'banana', 'orange']# 指定分隔符为空字符串,相当于按照每个字符进行分割
s = "hello"
chars = s.split("")
print(chars)  # ['', 'h', 'e', 'l', 'l', 'o', '']# 指定分隔符和分割次数
s = "1,2,3,4,5"
num_list = s.split(",", 2)
print(num_list)  # ['1', '2', '3,4,5']

需要注意的是,split()函数返回的是一个包含子串的列表,如果原字符串中没有分隔符,则分割结果只有一个元素,且该元素就是原字符串本身。此外,如果原字符串以分隔符结尾,split()函数会忽略最后一个空串的拆分结果。

另外,如果需要将字符串转化为数字,可以使用map()函数将每个子串转化为数字类型。

map()函数

在Python中,map()函数返回的是一个迭代器,而不是一个列表。当你直接打印它时,Python会默认打印迭代器的内存地址

如果你想将结果转换为列表并打印出来,你可以使用list()函数转换它。例如:

nums = [1, 2, 3, 4, 5]
square_nums = map(lambda x: x**2, nums)
print(square_nums)  # <map object at 0x000001>
print(list(square_nums))  # [1, 4, 9, 16, 25]

在这个例子中,我们将一个列表中的数字进行平方,并利用map()函数生成一个迭代器。然后我们直接打印出这个迭代器,得到的是一个内存地址。但是,当我们使用list()函数将其转换为列表后,就可以正确地打印出平方后的数字列表了。

sort()方法

Python中的列表可以使用sort()方法来进行排序。sort()方法有两个可选参数:reverse和key。reverse参数用于控制是否将列表按照降序排序,默认为False,即升序排序;key参数用于指定排序的依据,可以是一个函数或者lambda表达式。

举个例子,对一个包含10个整数的列表进行升序排序,可以这样写:

my_list = [3, 6, 1, 8, 2, 9, 4, 7, 5, 0]
my_list.sort()
print(my_list)

输出:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

如果要进行降序排序,只需将reverse参数设置为True:

my_list = [3, 6, 1, 8, 2, 9, 4, 7, 5, 0]
my_list.sort(reverse=True)
print(my_list)

输出:

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

如果要按照元素的绝对值进行排序,可以使用key参数:

my_list = [-3, 6, 1, -8, 2, -9, 4, 7, -5, 0]
my_list.sort(key=abs)
print(my_list)

输出:

[0, 1, 2, -3, 4, -5, 6, 7, -8, -9]

这里的key参数是一个函数abs,表示按照列表中元素的绝对值进行排序

(2)对10个数进行排序。

# 对10个数进行排序。
#首先,通过input将要进行排序的数字按空格间隔输入--(这些数据都是字符串)
#然后,利用split按照默认空格进行字符串切割---(返回出来的是分割好以后的字符串列表)
#然后利用map()函数将字符串列表的所有字符数据转换成int
number=map(int,input("请输入需要排序的数字").split())
print(number)#通过打印我们可以发现打印的结果是内存地址而非我们要的整型数据列表
#通过刚刚对map()函数使用的介绍,我们可以通过list()进行打印结果转换
number =  list(number)
print(number)
#升序排序利用sort函数
number.sort()
print(number)#降序排序 ---将reverse = True传入sort
number.sort(reverse = True)
print(number)#利用key参数进行绝对值的排序,结果还是原来的那个列表的数据
number.sort(key = abs)
print(number)

 

最后,感谢大家的支持~

让我的猪猪朋友给你们wink一下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/139122.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot实现SSMP整合

一、整合JUnit 1、Spring 整合 JUnit 核心注解有两个&#xff1a; RunWith(SpringJUnit4ClassRunner.class) 是设置Spring专用于测试的类运行器&#xff08;Spring程序执行程序有自己的一套独立的运行程序的方式&#xff0c;不能使用JUnit提供的类运行方式&#xff09;Conte…

CICD:Circle CI 实现CICD

持续集成解决什么问题 提高软件质量效率迭代便捷部署快速交付、便于管理 持续集成&#xff08;CI&#xff09; 集成&#xff0c;就是一些孤立的事物或元素通过某种方式集中在一起&#xff0c;产生联系&#xff0c;从而构建一个有机整体的过程。 持续&#xff0c;就是指长期…

【k8s总结】

资源下载&#xff1a;http://www.ziyuanwang.online/912.html Kubernetes(K8s) 一、Openstack&VM 1、认识虚拟化 1.1、什么是虚拟化 在计算机中&#xff0c;虚拟化&#xff08;英语&#xff1a;Virtualization&#xff09;是一种资源管理技术&#xff0c;是将计算机的…

网工记背配置基本命令(5)----SNMP配置

目录 1.配置设备使用SNMPv1与网管通信 2.配置设备SNMPv2与网管通信 3.配置设备使用SNMPv3与网管通信 1.在大型网络中&#xff0c;设备发生故障时&#xff0c;由于设备无法主动上报故障&#xff0c;导致网络管理员无法及时感知、及 时定位和排除故障&#xff0c;从而导致网络…

centos离线安装telnet、traceroute工具

安装包下载地址 安装包下载地址在这里 直接输入包名&#xff0c;筛选系统&#xff0c;根据自己系统版本确定该下哪个包 centos离线安装telnet 准备三个安装包 xinetd-2.3.15-14.el7.x86_64.rpmtelnet-server-0.17-65.el7_8.x86_64.rpmtelnet-0.17-65.el7_8.x86_64.rpm 三个…

HTML 基础知识

HTML 基础知识 1.列表2.表格3.表单4.语义化5.字符实体 1.列表 2.表格 3.表单 4.语义化 5.字符实体

学习mapster的基本用法

正在学习的开源博客项目Blog .NET Core中采用mapster实现对象映射&#xff0c;个人理解对象映射框架主要用于不同类型间的数据转换&#xff0c;比起个人实现的定制化的类型对类型的转换代码&#xff0c;采用对象映射框架更便捷&#xff0c;同时也能支撑各式各样的对象映射场景。…

毫米波雷达与其他传感器的协同工作:传感器融合的未来

随着科技的不断进步&#xff0c;传感技术在各个领域的应用愈发广泛。毫米波雷达作为一种重要的传感器技术&#xff0c;以其高精度、强穿透力和适应性强等优点&#xff0c;在军事、医疗、汽车、工业等领域都得到了广泛应用。然而&#xff0c;单一传感器的局限性也逐渐显现&#…

用GDB调试程序的栈帧

2023年10月17日&#xff0c;周二晚上 目录 练习GDB栈帧调试功能的程序 GDB栈帧方面的指令 调试效果 练习GDB栈帧调试功能的程序 斐波那契数列 #include <iostream>int factorial(int n) {if (n < 1) {return 1;} else {return n * factorial(n - 1);} }int main(…

力扣刷题 day47:10-17

1.位1的个数 编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中数字位数为 1 的个数&#xff08;也被称为汉明重量&#xff09;。 方法一&#xff1a;逐个判断 利用n&1 #方法一&#xff1a;逐个…

C++项目实战——基于多设计模式下的同步异步日志系统-⑫-日志宏全局接口设计(代理模式)

文章目录 专栏导读日志宏&全局接口设计全局接口测试项目目录结构整理示例代码拓展示例代码 专栏导读 &#x1f338;作者简介&#xff1a;花想云 &#xff0c;在读本科生一枚&#xff0c;C/C领域新星创作者&#xff0c;新星计划导师&#xff0c;阿里云专家博主&#xff0c;C…

2000年至2017年LandScan全球人口分布数据(1KM分辨率)

简介&#xff1a; LandScan全球人口分布数据来自于East View Cartographic&#xff0c;由美国能源部橡树岭国家实验室(ORNL)开发。LandScan运用GIS和遥感等创新方法&#xff0c;是全球人口数据发布的社会标准&#xff0c;是全球最为准确、可靠&#xff0c;基于地理位置的&…