Python-List-sort

本文详细介绍了Python中列表的sort方法,包括其基本用法、参数解释及示例。讲解了如何使用key参数自定义排序规则,以及reverse参数实现升序或降序排列。
部署运行你感兴趣的模型镜像

List.sort


功能描述

list.sort方法对列表进行排序,但是不能对类型不同的混合列表排序,如数字和字符串的混合列表

语法

list.sort(key=function, reverse=boolean)
  • 参数:key=function,表示列表的排序权值,可省略
  • 参数:reverse=boolean,表示排序规则参数,可省略,默认是False
  • 返回值:不返回任何值,只是改变原来的list

示例

不指定参数
  • 数字排序,按照大小排序
aList = [12, 4, 35, 2]
aList.sort()
aList

执行结果

[2, 4, 12, 35]
  • 字符串排序,安装字母表顺序排序
aList = ['Li Ming','Xiao Hua','Han Meimei','Xia Qingqing']
aList.sort()
aList

执行结果

['Han Meimei', 'Li Ming', 'Xia Qingqing', 'Xiao Hua']
指定Key参数

key指的是为列表的元素标记权值,并按照权值来排序。key=函数名,该函数的返回值作为元素的权值大小
示例,以字符串长度作为元素的权值进行排序

aList = ['Xia Qingqing','Xiao Hua','Han Meimei','Li Ming']
bList = ['Xia Qingqing','Xiao Hua','Han Meimei','Li Ming']
aList.sort(key=len)
print(aList)
bList.sort()
print(bList)

执行结果
指定权值的按字符长度排序
不指定权值的按字符首字母顺序排序

['Li Ming', 'Xiao Hua', 'Han Meimei', 'Xia Qingqing']
['Han Meimei', 'Li Ming', 'Xia Qingqing', 'Xiao Hua']
指定reverse参数

reverse参数指列表是按升序还是降序排列,reverse=True,按降序排列,reverse=False,按升序排列

aList = [4,2,30,23]
bList = [4,2,30,23]
aList.sort()
print("aList: ",aList)
bList.sort(reverse=True)
print("bList: ",bList)

执行结果

aList:  [2, 4, 23, 30]
bList:  [30, 23, 4, 2]

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### Python-nmap库的用途和功能 #### 1. **Python-nmap库的核心用途** Python-nmap库是一个用于在网络环境中执行扫描任务的强大工具。它作为Nmap网络扫描器的Python接口,能够实现多种复杂的网络操作,例如主机发现、端口扫描以及操作系统识别等功能[^1]。 #### 2. **主要功能描述** - **主机发现** 使用`nmap_host_discovery.py`中的功能,可以检测目标网络中存在的活动主机。通过指定IP地址范围或子网掩码等方式,快速定位在线设备并获取其基本信息[^2]。 - **端口扫描** 支持对单个或多个目标主机上的特定端口进行扫描。用户可以根据需求定义具体的端口号或者设定一个连续区间(如21-3306),从而全面评估开放服务的状态[^5]。 - **操作系统指纹识别** 利用高级选项参数,可尝试推断远程服务器的操作系统类型及其版本号等细节信息。这对于渗透测试人员来说尤为重要,在制定攻击策略前需先掌握对方环境特性[^1]。 #### 3. **实际应用案例分析** 下面提供一段简单的代码示例展示如何利用此库完成基础的任务: ```python import nmap def scan_network(target, ports): nm = nmap.PortScanner() try: result = nm.scan(hosts=target, arguments=f'-p {ports} --open') for host in nm.all_hosts(): print(f'Host : {host}') print(f'State : {nm[host].state()}') for proto in nm[host].all_protocols(): lport = list(nm[host][proto].keys()) lport.sort() for port in lport: print(f'Port : {port}\tState : {nm[host][proto][port]["state"]}') except Exception as e: print(str(e)) if __name__ == "__main__": target_ip_range = '192.168.1.0/24' specific_ports = '22,80,443' scan_network(target_ip_range, specific_ports) ``` 以上脚本实现了针对局域网内的所有可能IPv4地址,并仅关注SSH (TCP/22), HTTP(TCP/80) 和 HTTPS(TCP/443)三个常见协议的服务状态查询工作流程演示[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值