07-列表/元组/集合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07-列表/元组/集合相关的知识,希望对你有一定的参考价值。
列表
使用[]或list()创建,元素可变
如:
list01 = [‘user‘, ‘123‘, ‘a1‘, ‘‘]
list02 = list([‘user‘, ‘123‘, ‘a1‘, ‘‘])
print(list01)
print(list01[0])
print(list01[0][3])
list01[0] = ‘That‘
print(list02)
运行结果:
[‘user‘, ‘123‘, ‘a1‘, ‘‘]
user
r
[‘That‘, ‘123‘, ‘a1‘, ‘‘]
列表可以进行的操作:
-索引
list01[0]
list01 = [‘user‘, ‘123‘, ‘a1‘, ‘‘]
print(list01[0])
print(list01[1])
运行结果:
user
123
-列表元素切片用来分片显示
list01[0:1]
list01 = [‘user‘, ‘123‘, ‘a1‘, ‘‘]
print(list01[0:2])
print(list01[0:1])
运行结果:
[‘user‘]
[‘user‘, ‘123‘]
-追加元素到列表后面
list01.append(‘xxoo‘)
list01 = [‘user‘, ‘123‘, ‘a1‘, ‘‘]
list01.append(‘xxoo‘)
print(list01)
运行结果:
[‘user‘, ‘123‘, ‘a1‘, ‘‘, ‘xxoo‘]
[ps:注意在追加一个元素到列表中的时候,这个动作不能赋值给变量,赋值的话,此变量为none]
例如:
list01 = [‘user‘, ‘123‘, ‘a1‘, ‘‘]
v = list01.append(‘xxoo‘)
print(v)
运行结果:
None
-列表元素插入新值
list01.insert(1, ‘xxoo‘)
list01 = [‘user‘, ‘123‘, ‘a1‘, ‘‘]
list01.insert(1, ‘xxoo‘)
print(list01)
运行结果:
[‘user‘, ‘xxoo‘, ‘123‘, ‘a1‘, ‘‘]
[ps:数字1表示,要插入的值作为列表第几个元素]
-列表元素更改
list01[0] = ‘fly‘
list01 = [‘user‘, ‘123‘, ‘a1‘, ‘‘]
list01[0] = ‘fly‘
print(list01)
运行结果:
[‘fly‘, ‘123‘, ‘a1‘, ‘‘]
-删除
list01.remove[‘val‘]
del list01[key]
list01 = [‘user‘, ‘123‘, ‘a1‘, ‘‘]
list01.remove(‘123‘)
或
del list01[2]
print(list01)
运行结果:
[‘user‘, ‘a1‘, ‘‘]
或
[‘user‘, ‘123‘, ‘‘]
-删除列表中的某个元素,并可以把删除的元素赋值给一个变量
.pop(key)
list01 = [‘张小凡‘, ‘小白‘, ‘碧瑶‘, ‘陆雪琪‘, ‘张小凡‘]
v = list01.pop(2)
print(list01)
print(v)
运行结果:
[‘张小凡‘, ‘小白‘, ‘陆雪琪‘, ‘张小凡‘]
碧瑶
-清空所有元素
.clear()
list01 = [‘张小凡‘, ‘小白‘, ‘碧瑶‘, ‘陆雪琪‘]
list01.clear()
print(list01)
运行结果:
[]
-浅拷贝
.copy()
list01 = [‘张小凡‘, ‘小白‘, ‘碧瑶‘, ‘陆雪琪‘]
v = list01.copy()
print(v)
运行结果:
[‘张小凡‘, ‘小白‘, ‘碧瑶‘, ‘陆雪琪‘]
-深拷贝
待更新...
-长度
len()
list01 = [‘user‘, ‘123‘, ‘a1‘, ‘‘]
v = len(list01)
print(v)
运行结果:
4
-计算某个元素在列表中出现了几次
.count()
list01 = [‘张小凡‘, ‘小白‘, ‘碧瑶‘, ‘陆雪琪‘, ‘张小凡‘]
v = list01.count(‘张小凡‘)
print(v)
运行结果:
2
-判断某个值是否包含在一个列表中
... in ...:
list01 = [‘user‘, ‘123‘, ‘a1‘, ‘‘]
if ‘123‘ in list01:
print(‘yes‘)
else:
print(‘no‘)
运行结果:
yes
-批量增加元素
.extend()
list01 = [‘张小凡‘, ‘小白‘, ‘碧瑶‘, ‘陆雪琪‘, ‘张小凡‘]
list01.extend([‘林惊羽‘, ‘金瓶儿‘, ])
print(list01)
运行结果:
[‘张小凡‘, ‘小白‘, ‘碧瑶‘, ‘陆雪琪‘, ‘张小凡‘, ‘林惊羽‘, ‘金瓶儿‘]
-元素反转,倒序排列
.reverse()
list01 = [‘张小凡‘, ‘小白‘, ‘碧瑶‘, ‘陆雪琪‘]
list01.reverse()
print(list01)
运行结果:
[‘陆雪琪‘, ‘碧瑶‘, ‘小白‘, ‘张小凡‘]
-对列表内的元素进行比较排序(默认从小到大)
.sort()
.sort(reverse=True) #从大到小
num = [1, 10, 23, 345, 32345, 1911991]
num.sort()
print(num)
num.sort(reverse=True)
print(num)
运行结果:
[1, 10, 23, 345, 32345, 1911991]
[1911991, 32345, 345, 23, 10, 1]
##########################################################
元组
使用()创建,元素不可变
约定:创建一个元组的时候,要在最后一个元素的后面再加上一个逗号‘,‘;
如:
list02 = (‘user‘, ‘123‘, ‘a1‘, ‘‘)
print(list02)
list02[0] = ‘That‘
print(list02)
结果:
(‘user‘, ‘123‘, ‘a1‘, ‘‘)
(‘user‘, ‘123‘, ‘a1‘, ‘‘)
元组可进行的操作:
list02 = (‘user‘, ‘123‘, ‘a1‘, ‘‘, )
索引
list02[0]
切片
list02[0:2]
循环
for i in list02:
print(i)
长度
v = len(list02)
包含
if ‘123‘ in list02:
print(‘ok‘)
else:
print(‘no‘)
需要注意的是:
元组的子元素是不可修改的,但是子元素如果是列表或字典等集合类型,那么该子元素的子元素是可以被修改的;
集合
set()集合使用{val1, val2, val3}创建,不可重复的列表,可变类型
特点:
-不支持索引取值
-支持for循环
-不能嵌套列表,集合
-可嵌套元组
-添加元素
.add()
-清空集合所有元素
.clear()
-元素移除
.discard(‘val‘)
-是否有交集
.isdisjoint()
-是否是被比较者的子集
.issubset()
-是否是被比较者的父集
issuperset()
-移除一个值并获取到移除的值赋值给一个变量
.pop()
-移除一个值
.remove()
-比较不同之处,注意比较的双方位置
.difference()
s1 = {‘a‘, ‘b‘, ‘c‘, ‘111‘}
s2 = {‘a‘, ‘b‘, ‘c‘, ‘222‘}
v1 = s1.difference(s2)
v2 = s2.difference(s1)
print(v1)
print(v2)
运行结果:
{‘111‘}
{‘222‘}
-将比较结果重新更新赋值给比较者
.difference_update()
s1 = {‘a‘, ‘b‘, ‘c‘, ‘111‘}
s2 = {‘a‘, ‘b‘, ‘c‘, ‘222‘}
s1.difference_update(s2)
print(s1)
运行结果:
{‘111‘}
-比较不同之处,并将所有不同的元素同时赋值给一个变量
.symmetric_difference()
s1 = {‘a‘, ‘b‘, ‘c‘, ‘111‘}
s2 = {‘a‘, ‘b‘, ‘c‘, ‘222‘}
v = s1.symmetric_difference(s2)
print(v)
运行结果:
{‘222‘, ‘111‘}
-将比较结果重新更新赋值给比较者
.symmetric_difference_update()
-取比较对象的交集
.intersection()
s1 = {‘a‘, ‘b‘, ‘c‘, ‘111‘}
s2 = {‘a‘, ‘b‘, ‘c‘, ‘222‘}
v = s1.intersection(s2)
print(v)
运行结果:
{‘b‘, ‘c‘, ‘a‘}
-将比较结果重新更新赋值给比较者
.intersection_update()
-取比较对象的并集
.union()
s1 = {‘a‘, ‘b‘, ‘c‘, ‘111‘}
s2 = {‘a‘, ‘b‘, ‘c‘, ‘222‘}
v = s1.union(s2)
print(v)
运行结果:
{‘a‘, ‘b‘, ‘c‘, ‘222‘, ‘111‘}
-将比较结果重新更新赋值给比较者
.union_update()
-批量更新
.update(‘val1‘, ‘val2‘, ‘val3‘, ...)
s1 = {‘a‘, ‘b‘, ‘c‘, ‘d‘}
s1.update({‘111‘, ‘222‘, ‘333‘})
print(s1)
运行结果:
{‘d‘, ‘333‘, ‘c‘, ‘222‘, ‘a‘, ‘111‘, ‘b‘}
以上是关于07-列表/元组/集合的主要内容,如果未能解决你的问题,请参考以下文章
基本数据类型-集合(set)_上周内容回顾(列表_元组_集合)
Python面试必考重点之列表,元组和字典第一关——如何定义集合/集合与列表有什么区别/如何去掉列表(元组)中重复的元素