python集合和列表_python之列表与集合

Python 列表与集合

列表排序方法

sort() :按字母顺序排列

sort(reverse=True): 按字母顺序反向排列

reverse(): 反转列表排列

列表排序方法将直接改变原列表排列

L1.sort(), L1.sort(reverse=True), L1.reverse()

列表排序函数

sorted(list_obj)

sorted(list_obj, reverse=True)

reversed(list_obj)

可显示排列顺序或赋值给新列表,并不改变原列表排列顺序

sorted(L1), sorted(L1, reverse=True), reversed(L1)

列表赋值

变量的赋值操作为引用的赋值

a = [1, 2, 3, 4]

b = a # 将a的引用赋值b

print(a, id(a), b, id(b))

>>> [1, 2, 3, 4] 140492488 [1, 2, 3, 4] 140492488

列表切片在赋值号右边, 会产生原列表的拷贝,为浅拷贝,只进行第一层的复制

a = [1, 2, 3, 4]

b = a[2:]

print(a, id(a), b, id(b))

>>>[1, 2, 3, 4] 140416712 [3, 4] 140416904

x = ['a', 'b']

a = [1,x,3,4]

b = a[:]

b[1][0] = 'z'

print(a, id(a), b, id(b))

>>> [1, ['z', 'b'], 3, 4] 140417992 [1, ['z', 'b'], 3, 4] 140310856

列表切片在赋值号左边,且没有指定起止索引,则会将复制号右边的值替换左侧列表全部内容而不会产生新的列表

a = [1, 2, 3, 4]

a[:] = ['a','b','c']

print(a)

>>>['a', 'b', 'c']

集合的主要作用是去重、计算交集,并集,差集,反交集

my_list = [1,1,1]

my_list = list(set(my_list))

print('list转set后去重复: my_list = ', my_list)

my_set = {1,1,3}

print(my_list)

print(my_set,'\n')

>>>list转set后去重复: my_list = [1]

>>>[1]

>>>{1, 3}

set1 = {1,2,3,4}

set2 = {1,2,5,6}

#差集

print('差集, set1-set2,set2-set1')

print('set1-set2= ',set1-set2)

print('set2-set1= ',set2-set1, '\n' )

>>>差集, set1-set2,set2-set1

>>>set1-set2= {3, 4}

>>>set2-set1= {5, 6}

#并集

print('并集, set1 | set2')

print('set1 | set2= ', set1 | set2, '\n')

>>>并集, set1 | set2

>>>set1 | set2= {1, 2, 3, 4, 5, 6}

#交集

print('交集, set1 & set2')

print('set1 & set2= ', set1 & set2, '\n')

>>>交集, set1 & set2

>>>set1 & set2= {1, 2}

#反交集

print('反交集, set1 ^ set2 除了交集外的元素,相当于并集-交集')

print(set1 ^ set2)

>>>反交集, set1 ^ set2 除了交集外的元素,相当于并集-交集

>>>{3, 4, 5, 6}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值