列表.count(元素) - 统计列表中元素出现的个数,返回整数
nums=[1,34,1,3,1]
print(nums.count(1))
列表.extend(序列) - 将序列中的元素全部添加到列表中
nums.extend(['abc',12,[32]])
print(nums)
列表.index(元素) - 获取元素在字典中的下标 如果元素有多个只取第一个 如果元素不存在 会报错
num2=[2,323,213,13,'sd',[2,3]]
print(num2.index([2,3])) # 返回5
列表.reverse() - 反向列表 修改原列表
reversed(序列) - 反向序列 不修改原序列而是产生新的序列 (迭代器)
能够进行排序的列表要求列表中的元素类型一致 并且支持比较运算
sorted(序列) - 排序的时候不修改原序列 产生新序列
列表.sort() - 将列表中从小到大排序 列表.sort(reverse=True) -将列表从大到小排序
列表.clear() 清空列表
列表.copy() == 相当于列表[:]
元组(tuple)元组是python提供的容器型数据类型(序列),不可变,有序元组就是不可变的列表,一般保存一些不让修改的数据
元素个数是1的元组
tuple = (10) #不表示元组,表示一个括号里的数据
元组的小括号可以省略,多个数据直接用逗号隔开 也表示元组
tuple3=10,23,31,'23'
print(type(tuple3),tuple3)
获取元素:和列表一样
让变量的个数和元组中元素的个数保存一致 来一一获取元组中元素的值
point =(100,50)
x,y=point
print(x,y)
字典是python提供的容器型数据类型(序列),可变,无序
{key1:value1,key2:value2,key3:value3,·····}
字典的元素就是键值对
键值对 - 以'键:值'对的形式出现
键(key) - 必须是不可变的数据,唯一(不能出现多个相同的键)比如(数字、字符串、元组)
值(value) - 任何数据类型
dict1 = {10:100,'name':90,(1,2):80} # 不可变的数据作为键
print(dict1)
# dict1 = {10:100,'name':90,[1,2]:80} 报错。列表可变 不能作为键
# dict1 = {10:100,'name':90,{1:2}:80} 报错。字典可变 不能作为键
字典[键] - 获取字典中键对应的值 key不存在,会报错
字典.get(键) - 获取字典中键对应的值 key值不存在,不报错 返回None
字典.get(键,默认值) - 获取字典中键对应的值 key值不存在 不报错 返回默认值
直接遍历字典的时候 获取到所有的key
直接遍历
for key in dog:
print(key,dog[key])
间接遍历
for value in dog.values():
print(value)
for key,value in dog.items():
print(key,value)
字典[键] = 值 - 如果键不在字典中就是添加
如果键在字典中,就是修改值
class1 = {'name':'py1902',
'address':'19楼',
}
class1['num']=50 #增
class1['name']='pyth1902' #改
print(class1)
del 字典[键] - 删除键值对,key不存在会报错
del class1['address']
print(class1)
字典.pop(键) - 取出字典中key对应的值。key不存在报错
s=class1.pop('num')
print(s,class1)
字典相关操作
不支持数学运算,只支持比较相等,不支持比较大小
print({'a':100,'b':10}=={'b':10,'a':100})
in /not in
key in 字典 - 判断字典中是否存在指定的key
class2 = {'name':'py1902',
'address':'19楼',
}
print('name' not in class2)
len(字典)
print(len(class2))
字典.clear() - 清空字典
字典.copy() - 拷贝键值对,产生新字典
dict.fromkeys(序列,值) - 创建一个新的字典
字典的key是序列的元素,key对应的value是值
new_dict=dict.fromkeys(range(11),100)
print(new_dict)
keys,values,items
字典.keys() - 获取字典中所有的key,返回的序列
字典.values() - 获取字典中所有的value,返回的序列
字典.items() - 同时获取key和value,以元组的形式返回在序列里
setdefaul
字典.setdefault(key,value) - 添加键值对(不能修改)
update
字典1.update(字典2) - 使用字典2中键值对更新到字典1
不存在添加,存在修改
dict1 ={'a':1,'b':2}
dict2 ={'a':2,'c':100}
dict1.update(dict2)
print(dict1)
集合(set)
容器型数据类型(序列),可变 无序
元素:不可变的数据,唯一(自带去重功能)
set1={} 这表示空的字典
set1 = set() #空集合
set2 ={1,'abc',(1,3),True} # 元素是不可变的数据
print(set2)
str1='sadwqhjdabnzxzqd'
print(''.join(set(str1)))
list1=[1,1,2,2,3,3]
print(list(set(list1)))
集合不能单独获取单个元素 无序 无键
集合.add(元素) - 往集合中添加一个元素
集合.update(序列) - 将序列中的元素添加到集合中(自带去重)
set1 ={1}
set1.add(100)
print(set1)
set1.update(['abc'])
set1.update({'name':'zhang','age':18})
print(set1)
集合.remove(元素) - 删除集合中指定的元素
没有元素会报错 用discard不会报错
set1.remove('age')
print(set1)
set1.discard(1)
print(set1)
并集 | 两个集合合并产生新的集合
交集 & 两个集合公共部分 产生新的集合
差集 - 集合1-集合2 - 获取集合1中除了集合2以外的部分
补集 ^ 集合1^集合2 - 两个集合除了公共部分以外的部分
包含关系
集合1>=集合2 - 集合1中是否包含集合2
集合1<=集合2 - 集合2中是否包含集合1