当前位置: 首页 > ai >正文

Python列表、字典、元组、集合

列表 list

基本格式:列表名 = [元素1,元素2,元素3]

所有元素放在[ ]之中,元素之间用逗号","隔开,元素可以是不同的类型

列表的类型也是列表

li = [1,"hello",2]
print(type(li))

列表是可迭代对象,可以用for循环进行遍历 

li = [1,"hello",2]
for i in li:print(i)

列表常见操作

增加

常见三种增加元素方式:append(),extend(),insert()

append() 整体添加元素

li = ["one","two","three"]
li.append("four")
print(li) 

extend() 分散添加

li = ["one","two","three"]
li.extend("four")
print(li) 

insert() 在指定位置插入元素

li = ["one","two","three"]
li.insert(3,"four")  #3为指定插入位置下标
print(li) 

 

 删除

del

li = ["a","b","c","d"]
#del li #删除整个列表
del li[2] #根据下标删除

pop

删除指定下标的数据,如果未指定下标则移除列表的最后一个元素,如果列表为空或者超出列表索引范围则会引发IndexError

li = ["a","b","c","d"]
li.pop() #删除列表最后一个元素
li.pop(2) #指定位置删除

remove

删除指定的值,默认删除最开始出现指定的值,当列表中值不存在时触发ValueError异常

li = ["a","b","c","d","b"]
li.remove("b") # ['a','c','d','b']
li.remove("e") #报错

排序

sort

将列表按特定顺序重新排列,默认从小到大

li = ['a','c','b','d','e']
li.sort()

 reverse :将列表反转,顺序改变

li = ['a','c','b','d','e']
li.reverse()

 

元组 tuple

元组是由多个逗号隔开的值组成的,例

t = ('q',"qwe",1)
print(t)  #('q',"qwe",1)

输出时,元组都要由圆括号标注,这样才能正确地解释嵌套元组。输入时,圆括号可有可无,不过经常是必须的(如果元组是更大的表达式的一部分)。

t = 'q',"qwe",1
print(t)  #('q',"qwe",1)

元组是不可变的,不能对他进行增删查改等操作

t = 'q',"qwe",1
t[0] = 'a'

当我们运行上述代码的时候,会发生报错,元组值不支持更改 

当我们构造0个或1个元素的元组比较特殊,使用一对空圆括号可以直接构成空元组,只有一个元素的元组可以通过在这个元素后面添加逗号","来构建,不使用逗号,则返回唯一的值得数据类型是str类型。

空元组

t =()
print(type(t))

 

使用逗号构建

q = ('a',)
print(type(q))

 

不使用逗号构建

q = ('a')
print(type(q))

字典 dict

字典是键值对的结合,每一个键值对之间使用逗号","隔开,键和值之间用:隔开。字典的键具有唯一性。

基本语法格式:字典名 = {键1:值1,键2:值2....}

dic = {"name":"you","name":18} #键名重复,后面的值会将前面的值覆盖
print(dic) 

 

字典常见操作

查看元素

字典不支持使用下标查找元素,查找元素需要根据键名

dic = {"name":"you","age":18}
print(dic["age"]) #18

也可以使用内置函数来查找,字典名.get(键名),键名不存在则返回None,也可以返回自己设置的默认值。

dic = {"name":"you","age":18}
print(dic.get("name")) #you
print(dic.get("sex","不存在")) #返回自己设置的值不存在

 修改元素

通过键名修改元素,例

dic = {"name":"you","age":18}
dic["age"] = 20
print(dic) #{'name': 'you', 'age': 20}

添加元素

字典名[键名] = 值

键名存在就是修改元素,不存在就是添加元素

dic = {"name":"you","age":18}
dic["sex"] = "boy"
print(dic) #{'name': 'you', 'age': 18, 'sex': 'boy'}

删除元素

del 字典名   删除整个字典

dic = {'name': 'you', 'age': 18, 'sex': 'boy'}
del dic
print(dic) #NameError: name 'dic' is not defined.

del 字典名[键名]  删除指定键值对

dic = {'name': 'you', 'age': 18, 'sex': 'boy'}
del dic['age']
print(dic) #{'name': 'you', 'sex': 'boy'}

字典内置函数clear(),清除整个字典包含的东西,但字典依然存在

dic = {'name': 'you', 'age': 18, 'sex': 'boy'}
dic.clear()
print(dic) #空字典{}

pop() ,删除指定键值对

dic = {'name': 'you', 'age': 18, 'sex': 'boy'}
dic.pop("name")
print(dic) #{'age': 18, 'sex': 'boy'}

 集合 set

集合是由不重复元素组成的无序容器,基本用法包括成员检测、消除重复元素。

创建集合用花括号或 set() 函数。注意,创建空集合只能用 set(),不能用 {}{} 创建的是空字典。

集合具有无序性,主要实现方式为hash表,每次运行结果不同,hash值不同,那么在hash表中的位置也不同,python中int在hash表中的值就是它本身。

s = {1,2,'q','a','c','w'}
print(s)

 

 

 

 

 

 

 

 

 

 

http://www.xdnf.cn/news/10642.html

相关文章:

  • 推荐一款使用html开发桌面应用的工具——mixone
  • 39. 组合总和【 力扣(LeetCode) 】
  • 从万物互联到万体智联:论智能体互联网带来的产业革命
  • 可视化大屏如何制作
  • SQL快速入门【转自牛客网】
  • 强人工智能 vs 弱人工智能:本质区别与未来展望
  • CppCon 2014 学习:Defensive Programming Done Right.
  • 嵌入式Linux 期末复习指南(下)
  • Java递归编程中的StackOverflowError问题分析与解决方案
  • 软件测评师教程 第9章 基于质量特性的测试与评价 笔记
  • 新版智慧社区(小区)智能化弱电系统解决方案
  • 记录一次由打扑克牌测试国内各家大模型的经历
  • 序列搜索策略
  • 探秘 Minimax:AI 领域的创新先锋
  • CangjieMagic 智能体框架嵌入式系统实测:以树莓派 4B 为例
  • 【Redis技术进阶之路】「系统架构系列中篇」高可用之Master-Slave主从架构的复制问题(分析旧版点制功能)
  • rabbitmq Direct交换机简介
  • K-匿名模型
  • 强类型语言和弱类型语言
  • 振动力学:有阻尼单自由度系统
  • 极客时间:用 FAISS、LangChain 和 Google Colab 模拟 LLM 的短期与长期记忆
  • RNN循环网络:给AI装上“记忆“(superior哥AI系列第5期)
  • 房屋租赁系统 Java+Vue.js+SpringBoot,包括房屋类型、房屋信息、预约看房、合同信息、房屋报修、房屋评价、房主管理模块
  • 洛谷-P3912素数个数题解
  • 模型训练的“隐形杀手”——过拟合!全面解析与实用应对方案
  • MySQL中的锁
  • 【nssctf第三题】[NSSCTF 2022 Spring Recruit]easy C
  • 29 C 语言内存管理与多文件编程详解:栈区、全局静态区、static 与 extern 深度解析
  • Codeforces Round 1026 (Div. 2) C. Racing
  • Java内存模型与互斥锁