首页 > 编程语言 >Python list的交、并、差与排序

Python list的交、并、差与排序

时间:2024-04-24 15:46:22浏览次数:20  
标签:set Python list list1 set1 sorted 排序

求list的交集、并集、差集

set() 函数创建一个无序不重复元素集,通过set可方便求取list的交并差,并可去重

# 通过set 集合
>>> list1 = [1,2,3] 
>>> list2=[2,3,4]
>>> set1 = set(list1)
>>> set2 = set(list2)
>>> set1 & set2  # 交集
{2, 3}
>>> set1 | set2  # 并集
{1, 2, 3, 4}
>>> set1 - set2  # 差集
{4}
>>> set1 ^ set2  # 求差异元素
{1, 4}

>>> list1=list1.extend(list2) # 合并
>>> list1=list(set(list1)) # 去重
>>> list1
{1,2,3,4}

list排序 (可返回索引)

1. list内置函数sort

缺点: 原来list被重置;只可用于list

>>> a = [5, 2, 3, 1, 4]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5]

2. python内置的全局sorted()

  • 返回新的排序结果对象
  • 可对任意可迭代序列使用

基础排序:

reverse参数可调节升序降序,默认升序,reverse=True

>>> sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]

高级排序:

key参数:此函数将在每个元素比较前被调用,经处理后的结果作为排序的依据;

  • 用复杂对象的某些值来排序,例如:
>>> student_tuples = [
        ('john', 'A', 15),
        ('jane', 'B', 12),
        ('dave', 'B', 10),
]
>>> sorted(student_tuples, key=lambda student: student[2])   # sort by age
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
  • 返回排序后元素的索引
sorted_id = sorted(range(len(a)), key=lambda k: a[k], reverse=True)
print('元素索引序列:', sorted_id)

a: [1, 3, 4, 5, 2, 7, 9]
元素索引序列: [6, 5, 3, 2, 1, 4, 0]

标签:set,Python,list,list1,set1,sorted,排序
From: https://www.cnblogs.com/drokish/p/18155595

相关文章

  • python之读取ini文件
    #ini文件[web_config]#前台ldap登陆:login_name=ut251login_pwd=wanghu123读取ini文件内容defread_config(section,key):try:config=configparser.ConfigParser()#类实例化#ini文件路径config_path=os.path.join(product_path,......
  • python之pytest
    安装pipinstallpytest 终端运行pytest:在当前目录中查找并运行所有符合测试用例命名规范的测试用例。pytest-q:以简化模式运行所有测试用例。pytest-v:以详细模式运行所有测试用例。pytesttest_sample.py:运行指定的测试文件test_sample.py中的所有测试用例。......
  • python——socket通信
    TCP协议是一种面向连接的协议,它在网络中提供可靠的、有序的、基于字节流的数据传输。它通过建立连接、数据的确认和重传机制等,确保数据的可靠性和顺序性。在TCP通信中,客户端和服务器之间的数据传输是双向的,双方可以相互发送和接收数据实现TCP服务器以下是一个示例,展示了如何使用......
  • HarmonyOS NEXT 实战开发—Grid和List内拖拽交换子组件位置
    介绍本示例分别通过onItemDrop()和onDrop()回调,实现子组件在Grid和List中的子组件位置交换。效果图预览使用说明:拖拽Grid中子组件,到目标Grid子组件位置,进行两者位置互换。拖拽List中子组件,到目标List子组件位置,进行两者位置互换。实现思路在Grid组件中,通过editMode()打......
  • python XML 文件解析
    XML文件认识<axmlns:ns="xxx"attr1="33"><ns:b>1<c>2<d/>3</c></ns:b>4</a>xml每个节点可以分为tag:a,ns:b,c,d都是tagtext:1,2是texttail:3,4是tail.3是属于d的tail,4是ns:b的tailattrib......
  • python包:torchvision
    torch 是一个偏向于底层的包, 做一些较为基础 矩阵运算 对于不同的样本比如图像,声音,文字, 之类,有更加针对性的包 比如,针对图片 他的矩阵处理专用包就是:torchvision 这个就需要单独安装,这个包的体积不是很大,我们可以直接尝试安装 pipinstalltorchvision......
  • 在windows下使用COSCMD时因Python版本不支持导致报SafeConfigParser不支持的错误
    在Windows下通过pip安装COSCMD后,使用相关命令操作Coscmd时报错,具体看错误信息是:SafeConfigParser不再支持。这是因为本地的python的版本是3.12.2,此版本已经不再支持SafeConfigParser这个类。而CosCmd的源代码是用的SafeConfigParser这个类,所以导致报错。 解决方案:修改C:\Pyth......
  • python包:torch
    torch 这个包非常大,安装也非常麻烦。基本可以上,他是深度学习里面重要的一个包,要安装torch  首先要确定自己的操作系统,自己的python版本,自己的版本, 是要安装CPU版本的torch,还是GPU版本的torch  ***我这边是WIN10专业版。Python3.8.10。我自己有泰坦RTX的显......
  • 在阿里云服务器上安装python3.6.3
    阿里云服务器试用1、先进到服务器列表2、进入远程连接客户端使用账号密码进行连接即可用xshell或putty连接了=============================================================================一般系统中默认是python2,下面是python3安装流程一、下载https://www.pyth......
  • python中时间转换,获取上一月上一周,本月,本周
    defpaserTime(timestamp):t=time.time()f=time.localtime(timestamp/1000)print(t)#原始时间数据#print(int(t))#秒级时间戳print(int(round(t*1000)))#毫秒级时间戳#nowTime=lambda:i......