python中set函数_python中的set函数、列表的操作

本文详细介绍了Python中set函数的应用,包括创建无序不重复元素集、进行集合运算如交集、差集和并集等操作。同时深入探讨了列表的基础概念与多种操作方法,例如替换、增加、删除元素等,帮助读者全面掌握这两种数据结构。
摘要由CSDN通过智能技术生成

一、set函数

set()函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

例题:

1、set函数求交集(&)、差集(-)、并集(|)

s1 = set('here')

s2 = set('hello')

print(s1-s2)#差集

print(s1&s2)#交集

print(s1|s2)#并集

结果:

1785228-20191030215230746-1705569204.png

2、删除元素的重复项

(1)使用set函数

S = {"python","apple","123","123","a"}print(set(S))

运行结果:

1785228-20191030220514341-2019715232.png

二、列表的操作

(一)、列表的概念

列表(list)是包含0个或者多个对象引用的有序序列,属于序列类型。与元组不同,列表的长度和内容都是可变的,可以对列表的内容进行增加、删除或者替换。列表没有长度限制,元素类型也可以不同,使用非常的灵活。列表中括号用[]表示,也可以通过list()函数将元组或字符串转化成列表。直接使用list()函数返回一个空列表。

(二)、列表的操作类型

列表是序列类型,下列将给出几种常用的函数或方法:

函数或方法

描述

ls[i]=x

替换列表ls第i数据项为x

ls[i:j]=lt

用列表lt替换列表ls中i到j项数据

ls[i:j:k]=lt

用列表lt替换列表ls中的第i到j项以k为步数的数据

del ls[i:j]

删除列表中i到j项数据等价于ls[i:j]=[]

del ls[i:j:k]

删除列表中i到j项以k为步数的数据

ls+=lt或者ls.extend(lt)

将列表lt中元素增加到列表ls中

ls*=n

更新列表ls,元素重复n次

ls.append(x)

在列表ls中最后增加一个元素x

ls.clear()

删除ls中的所有元素

ls.copy()

生成一个新列表,复制ls中的所有元素

ls.insert(i,x)

在列表ls中第i个位置增加x

ls.pop(i)

取出列表中的第i项元素,并删除该元素

ls.remove(x)

将列表中第一个出现的x元素删除

ls.reverse(x)

列表中的元素反转

代码分析:

list = ['apple','hello','q','ben','hello']#输出列表

print(list)#替换列表中的第i项为x

list[0]='fruit'

print(list)#用列表ls替换列表list中的第i到第j项数据

ls=['a','h','s']

list[0:2]=lsprint(list)#用列表ls替换列表list中的第i到j项以k为步数的数据

list[0:2:1]=lsprint(list)#删除列表中i到j项数据等价于ls[i:j]=[]

del list[0:2]#list[0:2]=[]

print(list)#在列表ls中最后增加一个元素x

list.append('d')print(list)#删除ls中的所有元素

list.clear()print(list)

运行结果:

['apple', 'hello', 'q', 'ben', 'hello']

['fruit', 'hello', 'q', 'ben', 'hello']

['a', 'h', 's', 'q', 'ben', 'hello']

['a', 'h', 's', 's', 'q', 'ben', 'hello']

['s', 's', 'q', 'ben', 'hello']

['s', 's', 'q', 'ben', 'hello', 'd']

[]

课后习题及例题解答:

1、列表ls=[2,5,7,1,6],请按照升序降序排列

ls = [2,5,7,1,6]#升序

ls.sort()

s1=sorted(ls)#s1 = sorted(ls,reverse=False)

print(ls)print(s1)#降序

s2 = sorted(ls,reverse=True)print(s2)

2、ls1=[1,43],ls2=ls1,ls1[0]=22,计算并思考两列表的运行结果

ls1=[1,43]

ls2=ls1

ls1[0]=22

print(ls1,ls2)

3、ls=[[2,3,7],[[3,5],25],[0,9]],求len(ls)

ls=[[2,3,7],[[3,5],25],[0,9]]print(len(ls))

4、从lst1中去除两个列表的交集元素

lst1 = set('there')

lst2= set('hello')

lst= lst1&lst2for x inlst:

lst1.remove(x)print(lst1)

5、把lst1=[1,2,3,4]中的奇数位与lst2=[5,6,7,8]中的偶数位,求并集

lst1=[1,2,3,4]

ls1=[]

ls2=[]for x inlst1:if x%2 !=0:

ls1.append(x)

lst2=[5,6,7,8]for y inlst2:if y%2 ==0:

ls2.append(y)

S=list(set(ls1).union(set(ls2)))print(sorted(S))

以上5题目运行结果:

[1, 2, 5, 6, 7]

[1, 2, 5, 6, 7]

[7, 6, 5, 2, 1]

[22, 43] [22, 43]3{'t', 'r'}

[1, 3, 6, 8]

6、删除列表中的重复元素

lst1 = ['d','df','df']

lst2=[]for x inlst1:if x not inlst2:

lst2.append(x)print(lst2)

结果:

1785228-20191025152359308-666547594.png

三、总结

列表是一个十分灵活的数据结构,它具有处理任意长度、混合数据类型的能力,并提供了丰富的基础操作符和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值