列表(list)
列表简介:列表(list)是处理一组有序项目的数据结构。用方括号[]表示。可以进行添加,删除,替换,搜索操作。是可变的数据类型。列表可以嵌套和支持索引。

name=[12,"哈哈"]#定义一个列表
print(id(name[0]))#id获取对象的内存地址

s="alex"
s="wusir"
s[0]="b"#报错 字符串是不可变的量
列表的增:append、insert、extend

append:在列表末尾添加一个元素

name=[12,"哈哈"]
name.append(True)#在列表的末尾添加一个元素
print(name)
结果为:12 哈哈 True

insert:指定索引进行插入

name=[12,"哈哈"]
name.insert(0,True)#insert(索引,要添加的元素);写上要添加的位置(索引值)和要添加的元素
print(name)
结果为: True 12 哈哈

extend:在列表末尾追加可迭代对象中的元素来扩展列表

name=[12,"哈哈"]
name.extend("1123")#extend()方法中填写可迭代对象( 可迭代对象:字符串、列表、元祖、字典;不可迭代对象:数字和布尔型)
print(name)
结果为:"12" "哈哈" "1" "1" "2" "3"
name.extend([11,22])
print(a)
结果为: "12" "哈哈" "11" "22"

列表的删:del、remove、pop、clear

pop:默认删除最后一个;可以通过指定索引进行删除

name=[11,22]
name.pop()#默认删除最后一个
print(name)
结果为:"11"

name.pop(0)#指定索引进行删除
print(name)
结果为:"22"

remove:通过元素名字进行删除

name=["haha",True]
name.remove("haha")#remove()括号中写要移除的元素
print(name)
结果为: True

del:可以通过索引删除、切片删除、步长删除

通过索引删除

name=[11,22,33,44,55,66]
del name[0]#填写需要删除的索引
print(name)
结果为:"22" "33" "44" "55" "66"

通过切片删除

name=[11,22,33,44,55,66]
del name[0:3]#删除索引0-2的元素
print (name)
结果为:"44" "55" "66"

通过步长删除

name=[11,22,33,44,55,66]
del name[0:3:2]#删除索引0-2的元素,步长为2
print(name)
结果为:"22" "44" "55" "66"

clear:清空列表

name=[11,22,33,44,55,66]
name.clear()
print(name)
结果为[]
列表的改

通过索引改

name=[11,22,33,44,55,66]
name[0]=1
print(name)
结果为1 22 33 44 55 66

通过切片改

name=[11,22,33,44,55,66]
name[0:3]="12345"#通过切片改,改变的值为可迭代对象,进行循环迭代,步长为1 不用一一对应
print(name)
结果为:1 2 3 4 5 44 55 66

通过步长改

name=[11,22,33,44,55,66]
name[0:3:2]="12"#步长不为1的必须用一一对应,多一个也不行,少一个也不行
print(name)
结果为:1 22 2 44 55 66
列表的查

name=[11,22,33,44,55,66]
for x in name:
print(x)
列表的嵌套

name=[1,"alex","春生","小东北","渣弟",["大黑哥",["常鑫",["自行车"],"大煎饼","掉井盖","三金"],"冯强","海峰",["太白金星","女神","吴超",["肖锋"]]]
假如要输出 肖锋的值
print(name[5][4][3][0])

不管什么类型进行切片的时候获取到的都是源数据类型

3.5 元组(tuple)

元组(touple)简介:有序、元素不可变、支持索引;元组用来存储一些重要的信息;元组在配置文件中会使用;元组就是不可变的列表

定义方式:

tu=(1,"alex",True,"大黑哥",[1,2,3])
3.6 range()方法
range():范围

print(list(range(0,10)))#前闭后开

range()与列表切片不同的是:range()起始位置 终止位置 步长用逗号隔开;列表切片则用:隔开

print(list(range(0,10,1))) #步长不写得时候默认为1 [0:10:1]
print(list(range(10,-2,-1))) #步长不写得时候默认为1 [10:-2:-1]
print(list(range(10))) #步长不写得时候默认为1 [:10]
错误实例:

while range(0,10):#列表不为空为True 所以是死循环
print(1)
python2和python3的区别

python3 中的range是一个可迭代对象 写得是怎样的打印的时候就是怎样

获取成列表:list(range(0,10)) 顾头不顾尾

python2 中的range返回的是一个列表

3.7 字典(dict)

字典简介:字典是无序的,可变的数据类型;用于存储数据,存储大量数据 字典要比列表快,将数据数据之间关联

定义一个字典:

dic={1:1223,"haha":True,True:False}#字典中逗号分隔的叫做一个元素 1(键) 1223(值)

字典的键:为不可变的数据类型

可哈希的---不可变的数据类型---避免哈希冲突 使用了开放寻址法

不可哈希---可变的数据类型

字典的键:要去唯一----如果有重复将后面的覆盖前面的值

字典的值:可以任意

字典的增、删、改、查

增:setdefault()

dic={"常鑫":10,"李文虎":80,"张宇":100}#定义一个字典
dic["haha"]=10#暴力添加 如果该键不存在 则为添加;存在则将值进行修改
print(dic)
结果为:{"常鑫":10,"李文虎":80,"张宇":100}
dic["常鑫"]=1#进行修改
print(dic)
结果为:{"常鑫":1,"李文虎":80,"张宇":100}

dic={"常鑫":10,"李文虎":80,"张宇":100}#定义一个字典
dic.setdefault("haha",11)#如果键不存在则进行添加
dic.setdefault("常鑫":1)#如果键存在则不进行操作
print(dic)
结果为:{"常鑫":10,"李文虎":80,"张宇":100,"haha":1}
删:del、pop()

dic={"常鑫":10,"李文虎":80,"张宇":100}#定义一个字典
del dic["常鑫"]#通过字典的键进行删除
print(dic)#结果为:{"李文虎":80,"张宇":100}

dic={"常鑫":10,"李文虎":80,"张宇":100}#定义一个字典
dic.pop("常鑫")#通过字典的键进行删除
print(dic)#结果为{李文虎":80,"张宇":100}

改:update()

dic={"常鑫":10,"李文虎":80,"张宇":100}#定义一个字典
dic["常鑫"]=3#如果该键不存在 则为添加;存在则将值进行修改
print(dic)#结果为{"常鑫":3,"李文虎":80,"张宇":100}

dic={"常鑫":10,"李文虎":80,"张宇":100}#定义一个字典
dic1={"常鑫":1,"haha":11}
dic.update(dic1)#update括号中的字典级别高于update前面的字典 键无则添加,有则修改
结果为:{"常鑫":1,"李文虎":80,"张宇":100,"haha":1}

dic={"常鑫":10,"李文虎":80,"张宇":100}#定义一个字典
for x in dic:
print(x)#输出每个键值
结果为:
常鑫
李文虎
张宇

获取值 get

dic={"常鑫":10,"李文虎":80,"张宇":100}#定义一个字典
print(dic.get("张宇"))#获取字典中键为"张宇"的值并输出
结果为:100
print(dic.get("haha"))#获取字典中键为"haha"的值并输出,不存在该键,返回None并输出

print(dic["张宇"])#获取字典中键为"张宇"的值并输出
结果为100
print(dic.get("haha"))#获取字典中键为"haha"的值并输出,不存在该键,报错

其他操作:

dic={"常鑫":10,"李文虎":80,"张宇":100}#定义一个字典

获取键 keys(

print(dic.keys())#获取该字典所有键并输出;高仿列表支持for循环,不支持索引
结果为:dict_keys(['常鑫', '李文虎', '张宇'])

for x in dic:
print(x,dic[x])
print(x,dic.get(x))
输出该字典的键和值
结果为:
常鑫 10
李文虎 80
张宇 100

获取值 values()

print(dic.values())#获取该字典所有值并输出
结果为:dict_values([10,80,100])

获取键和值

print(dic.items())#输出所有的键和值
结果为:
常鑫 10
李文虎 80
张宇 100

解构

a,b=10,20
print(a,b)#等号后边的值和前面的变量名要一一对应
结果为10 20

a=10,12
print(a)#本质上a是一个元组

a,b="23"
print(a,b)#结果为2 3

a.b={1:a,3:b}
print(a,b)
结果为1 3

dic={"常鑫":10,"李文虎":80,"张宇":100}#定义一个字典
for i in dic.items():
print(i)
结果为:
('常鑫', 10)
('李文虎', 80)
('张宇', 100)

dic={"常鑫":10,"李文虎":80,"张宇":100}#定义一个字典
for x,y in dic.items():
print(x,y)
结果为:
常鑫 10
李文虎 80
张宇 100

字典的嵌套

dic={1005:{"常鑫":["大黑哥","大烧饼","吃大煎饼","肉夹馍","自行车","井盖",]}}
找到井盖并输出
print(dic[1005]["常鑫"][5])

转载于:https://www.cnblogs.com/yhx003/p/11438349.html

python入门(三)列表、元组、range()、字典相关推荐

  1. python入门之 列表 元组 集合 字典 最全教程

    一.列表 列表(list)是Python中的一种数据结构,它可以存储不同类型的数据.不同元素以逗号分隔. //下标索引访问 A = ['xiaoWang', 'xiaoZhang', 'xiaoHua ...

  2. Python入门(三) 列表和元组

    Python 列表和元组 类似C语言的数组: 列表 列表的类型(list): 列表的添加 列表的删除 列表的分片(拷贝) ':' 列表的拼接 列表的比较 列表的多次增加(同一个数据) 列表的查找 列表 ...

  3. 学习Python(5)排序tuple元组dict字典set集合

    目录 学习Python(5)排序&tuple元组&dict字典&set集合 排序 冒泡排序 选择排序 元组 创建元组 元组元素的访问 元组操作 元组功能 二维元组 字典 创建字 ...

  4. 基于jupyter编程环境下——Python入门:列表4

    列表 四.操作列表 1.使用列表的一部分 -- 切片 2.元组 Python资料:Python编程XG:从入门到实践. 四.操作列表 1.使用列表的一部分 -- 切片 在前面学习了如何访问单个列表元素 ...

  5. Python入门(三)--- 元组,字典,集合

    Python入门(三) 文章目录 Python入门(三) @[toc] 回顾 1 基本数据类型 2 判断条件 3 数学运算 4 字符串 5 列表 6 循环 元组的取值 元组的方法 元组的相对不可变 f ...

  6. python变量 数据类型 列表 元组 字典

    python基础语法2 变量 数据类型与类型转换 列表 添加列表元素 修改元素 删除列表元素 组织列表 创建数值列表 操作列表 元组 元组转列表 字典 创建字典 列表取值 字典删除增加修改 变量 变量 ...

  7. Python菜鸟入门:day06元组与字典

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: day01基础知识 day02知识分类 day03 ...

  8. python 常用字符串 列表元祖字典都 自带的函数方法

    上节内容回顾和补充编程语言高级低级Python种类JavaPythoncPython *****pypy字节码 和 机器码Python程序:1. 终端:C:\python35\python.exe D ...

  9. 列表,元组,集合,字典常用方法

    列表(元组)常用方法 append(data) 追加 将参数data追加到列表末尾,不管data是个什么玩意都当做元素对待list.append(data) extend(model) 合并 将两个列 ...

  10. Python拆开嵌套列表元组

    拆开一层 利用functools.reduce()或itertools.chain.from_iterable() import functoolsdef list_unpack(l):"& ...

最新文章

  1. Py之uiautomator2:uiautomator2的简介、安装、使用方法之详细攻略
  2. 两步搞定Hyperledger主打区块链解决方案Fabric
  3. php post防止hash攻击,MyBB editpost.php脚本'posthash' 参数SQL注入漏洞
  4. 前端学习(1266):axios的常见api
  5. spring boot: java @interface注解
  6. 从0开始学习 GitHub 系列之「团队合作利器 Branch」
  7. 7 Object类型
  8. 【Learning】 动态树分治
  9. qdialog修改标题栏图标_qt – 如何在QDockWidget标题栏中显示图标?
  10. 如何将手机号码批量导入手机通讯录
  11. PLM项目目标及阶段
  12. Matplotlib绘图工具
  13. Java用OpenOffice将word转换为PDF并预览
  14. 基于搜索的贝叶斯网络结构学习算法-K2
  15. 《SolidWorks 2014中文版机械设计从入门到精通》——1.4 操作环境设置
  16. Revit二次开发前期准备
  17. 1 buffers were freed while being dequeued
  18. 202.m1-App的界面的实现
  19. 知名互联网公司需要什么样的人才
  20. vue 移动端 实现 一像素实线

热门文章

  1. 【奇怪知识点】百事有雪碧吗?
  2. Python3爬取淘宝网商品数据!
  3. 集丰照明|如何对国内 LED 市场的增长趋势与前景预测?
  4. HCIP-5.4OSPF路由聚合、缺省路由
  5. 一文读懂:股权激励的“三重境界”
  6. 软考_法律法规与标准化知识
  7. layui复选框默认选中
  8. 【转载】MISRA C-2012规则中文版
  9. Oracle数据库断电致使控制文件不一致的恢复方法
  10. PHPJavaJavascript通用RSA加密