Python入门基础学习(列表/元组/字典/集合)
Python基础学习笔记(二)
列表list---[ ](打了激素的数组,可以放入混合类型)
list1 = [1,2,'请多指教',0.5]
公共的功能:
len(list1) #/获取元素
list1[0] #索引
list1[::-1] #切片和步长
常用的功能:
list1.append(xxx) #从末尾追加一个元素
list1.extend(xxx) #从末尾合并
注意:append与extend的区别
append:将列表2xxx作为元素追加到列表1中
1 2 3 4 | a = [ "hzq" ] b = [ 5 ] a.append(b) 输出:[ 'hzq' , [ 5 ]] |
extend:将列表2中的元素作为列表1的元素进行合并
1 2 3 4 | a = [ "hzq" ] b = [ 5 ] a.extend(b) 输出:[ 'hzq' , 5 ] |
list1.insert(index,xxx) #指定index插入元素
list1.remove(xxx) #删除元素,若有相同只能删除从左到右第一个
list1.pop(index) #删除索引位置的元素,若无index默认删除最后一个
del list1[index] #删除index索引的list1元素
list1.clear( ) #清空列表
list1.count(xxx) #计算元素出现次数(注意层级关系)
1 2 3 | a = [ "hzq" ] print (a.count( 'h' )) 输出: 0 |
list1.index( xxx ) #获取xxx元素的下标
list1.reverse( ) #反转列表
list1.sort( ) #排序,若list1中有字符串或者是数字同时出现,则会报错
补充:列表推导式
[expr for itm in collection if condition] 列表常规推导
1 2 3 | list1 = [i for i in range ( 10 ) if i % 2 = = 0 ] print (list1) #输出:[0, 2, 4, 6, 8] |
元组tuple---( , )不可变
与列表相比-不可修改,不可输出,不可添加
tuple1 = (1,2,‘爱老虎油’)
公共的功能:
len(tuple1) #获取元素
tuple1[0] #索引
tuple1[::-1] #切片和步长
字典dict---{}映射类型,可变
dict1 = {'name' : ' 凉介' , 'age' : 21 , ' sdept' : '男' } #键值对
公共的功能:
len(dict1) #获取元素
dict1['name'] #索引,不用下标,利用key值查询
无切片和步长的功能
常用的功能:
dict1.keys( ) #获取所有的健值
dict1.values( ) #获取所有的值
dict1.items() #获取所有的键值对
若想对字典进行添加:dict1['不存在的key'] = 'xxx'
dict1.setdefault(5) #末尾设置一个key为5的键值对,value默认none,返回一个value的值
dict1.setdefault(5,'xxx') #末尾设置一个key为5,value为xxx的键值对,返回一个value的值
dict1.update(5,'李白') #更新key为5的value=‘李白’
dict1.pop(key) #删除健值里的数据返回value的值
dict1.popitem( ) #删除末尾的键值对并且返回key和value的元组
dict1.clear( ) #清除字典
补充:字典推导式
{key: value for (key, value) in iterable}字典推导
1 2 3 | dict1 = {i:i * 2 for i in range ( 10 ) if i % 2 = = 0 } print (dict1) #输出:{0: 0, 2: 4, 4: 8, 6: 12, 8: 16} |
集合set---{}无序无索引,不可嵌套,可变
注意:set1 = {} #这样子是声明一个dict类型
set1 = set( ) #声明一个空集合
set1.add(xxx) #添加一个xxx元素
set1.pop( ) #随机删除一个元素
set1.remove(xxx) #删除值为xxx的元素
set1.update(xxx) #更新一个xxx的集合
注意:add是添加一个元素,update是添加一个集合跟list中的extend类似
set2 = frozenset([1,2,3,4,5]) #可用frozenset创建一个不可变集合
小练习:华为测试岗笔试题
统计一个字符串中单词的个数:
函数解析:
对字符串以空格进行分割,创建一个字典类型变量dicts用于存放数据;
对分割后的字符串(返回的列表)进行for循环,传入dicts中(字典添加元素格式:dicts[key] = value)
如果不在字典里的(未重复)则设置value = 1,若已经在字典里的,则value += 1
接上:选出个数最多的单词:
函数解析:
将上题统计好的dicts字典传入,声明一个dictMax空字典用于存放出现次数最多的单词
通过list(dicts.values())取得dicts的values
然后通过一个循环算出出现次数最多为maxvalues次
再通过一个循环把字典中value跟maxvalues相同的元素添加到dictMax空字典中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!