目录
列表(list)
定义:列表(list)是一个有序的序列结构,序列中的元素可以是不同的数据类型以及四个python容器,list使用的是[ ]
特点:可以包含多种数据类型,可以有重复的元素,有序(可以通过索引找到对应的元素),里面的元素可以修改
list1=[1,2,3,4,1,2,3,"hello",True,False,1.11,[1,2,3],(1,24,2),{"key":"value","key1":"value"}]
print(list1,type(list1))
列表可以进行一系列序列操作,如索引、 切片、加、乘和检查成员等
list2=[1,2,3,4,1,2,3,"hello",True,False,1.11]
1.通过下标(索引寻找值)
print(list1[7])
2.修改元素的内容
append() 方法:在列表末尾添加增加元素
list2.append("world")
print(list2)
insert() :在指定索引处插入元素
list2.insert(0,"A")
print(list2)
直接对元素赋值,修改内容
list2[6]="a"
print(list2)
pop()方法:删除列表末尾的元素
list2.pop()
print(list2)
pop中也可以传入索引
list2.pop(7)
print(list2)
可以看到索引是7的“hello“ 被删除了
remove():根据值移除元素,如果有值相同的只删除前面的
list2.remove(1)
print(list2)
del :删除一个元素
del list2[0]
print(list2)
3.切片
切片操作需要提供起始索引位置和最后索引位置,然后用冒号 : 将两者分开
步长默认为1,也可以不写
print(list2[5:6:1])
print(list2[5,6])
4.sort() 排序,排序要求列表中只有一种类型的元素
还可以在sort()中写reverse=True,这样就是逆序
list3=[4,3,1,15,67,5,16,2,3]
list3.sort()
print(list3)
list3.sort(reverse=True)
print(list3)
5.查找元素的索引,如果有多个值对应返回最前面的
list3=[4,3,1,15,67,5,16,2,3]
print(list3.index(1))
6.extend 向一个列表中插入其他的列表
lista=[1,2,3,4]
listb=['a','b','c','d']
lista.extend(listb)
print(lista)
元组(turple)
元组(tuple)数据结构与列表类似,其中元素可以有不同的类型。但是元组中的元素是不可变的, 即一旦初始化之后,就不能够再做修改,并且是有序的,可以通过索引取到数据。
使用()存储元素
元组自身的方法就两个,index()和count(),
count统计元素在元组中出现的次数
index返回元素在元组中首次出现的索引
tuple1=(1,2,3,4,1,2,3,"hello",[1,2,3])
print(tuple1.count(1))
print(tuple1.index(2))
在只有一个元素的时,需要加上一个逗号表示他是元组,不然会认定是一个变量
tuple2=(2)
print(tuple2,type(tuple2))
tuple2=(2,)
print(tuple2,type(tuple2))
字典(dictiontary)
字典的创建使用大括号 {} 包含键值对,并用冒号 : 分隔键和值,形成 键:值 对
字典中的数据元素是无序的 ,不可以通过索引这种方法获取元素,只能通过key去获取value。不同键所对应的值可以相同,但是字典中的键必须是唯一的,key中的1和0,与True和False重复了,所以值会覆盖
#字典的key可以是任意不可变的类型(列表除外)
dict1={
'k1':'v1',
'k2':'v2',
1:'1',
0:'0',
True:'true',
False:'false',
'k3':[1,2,3],
'k4':{'k5':{'k6':'vvvv'}}
}
如果不太确定字典中有哪些键或者值,我们可以使用 keys() 方法或者values()方法,给我们返回了所有的键和值
print(dict1.keys())
print(dict1.values())
print(dict1.items())
通过键去寻找键值的方法get():
获得key为‘k1’的value
list.get('k1')
在有些情况下,我们需要取出字典中的键值对用于下一步的分析,此时可以使 用 items() 方法,该方法将返回所有键值对,并将其保存在一个元组列表(列表中的元素为元组)中
我们可以通过 in 判断是否存在某个键,其语法跟在列表和元组中判断是否存在某个值是相同的
print('k1' in dict1)
字典的删减有三种方法 使用 del 函数对单一元素或者整个字典进行删除 使用 pop() 方法删除单一元素 使用 clear() 方法清空词典的所有元素
del dict1['k1']
dict.pop('k1')
dict.clear()
集合(set)
集合(set)是一种无序集,里面会自动去重,不可以通过索引这种方法获取元素,你每一次print出来的顺序都可能是不同的。集合也可以进行数学集合运算,如并、交、差以及对称差等。
#集合
set1={'red','green','blue'}
set2={'red','yello'}
set3={'glod','silver','crystal'}
#并集
print(set1|set2|set3)
#差集
print(set1-set2)
#交集
print(set1&set2)
#异或
print(set1^set2)
添加元素的方法add()
set1.add("white")
删除元素的方式
remove():根据值移除元素,如果有值相同的只删除前面的
clear():直接清空