类型和运算二
Posted yaoqi17
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类型和运算二相关的知识,希望对你有一定的参考价值。
一、列表(list)
格式
list[] 多个元素,每个元素中间用逗号隔开
定义
2.1 可以将列表看成一个容器,容器存放的类型很多,任意的类型都可以存放到容器中
li = [1,2,3,'123',True,[1,2,5]] 书包 = [书,水杯,衣服,钱包] [1,2,5]
2.2 列表的本质其实是将可迭代的对象进行for循环所产生的东西
li = list("abc")#底层使用了for循环 "abc" 可迭代的字符串类型 print(li) 结果: ['a', 'b', 'c']
作用
存储大量数据
特点:有序(按所写顺序输出);可变的(可以在本身进行修改)
列表的操作
4.1 索引
li = [1,2,3,"123",True] # 0 1 2 3 4 print(li[1]) 结果: 2
4.2 切片
li = [1,2,3,"123",True] # 0 1 2 3 4 # -5 -4 -3 -2 -1 print(li[1:3]) 结果: [2, 3]
4.3 步长
li = [1,2,3,"123",True] print(li[-1:-4:-1]) 结果: [True, '123', 3]
4.4 相关操作
方法 作用 1、增 li.append(“”) 追加 添加在末尾 添加的操作 li.inster(索引,“内容”) 插入 第一个参数(索引),第二参数要插入的内容 li.extend("abc") 迭代添加,相当于for循环 2、删 li.pop() 弹 pop有返回值 返回的是被删除的内容,也可通过索引指定删除 li.remove(“元素”) 删除 按照元素名进行删除 del li[::2] 删除,支持索引、切片、步长 li.clear() 清空 3、改 索引 通过索引修改,新元素是迭代进去的,可以多可以少,可以指定空格 切片 若正向取值,多余的插入元素会使后面的元素向后顺移
若反向取值,由于计算机不能反向开辟空间,因此会产生插入位置不够的报错步长 你取几个,就放几个 不能多不能少 4、查 索引、切片、步长 for循环 产生列表的每一个元素 注意:用for 循环删除时不能直接删除,要先将要删除的元素放入新列表中,通过循环新列表删除,例:
lst = ["渣渣辉", "古天绿", "陈小春", "彭佳慧", "郑中基", "胡辣汤"] # for el in lst: # for 内部有一个变量来记录当前被循环的位置, 索引. # lst.remove(el) # 直接删除. 是删不干净的. 原因是每次删除都涉及到元素的移动. 索引在变. # 先把要删除的内容保存在一个新列表中. 循环这个新列表. 删除老列表 new_lst = [] for el in lst: new_lst.append(el) for el in new_lst: lst.remove(el) print(lst)
4.5 列表的嵌套
li = ["高圆圆","吴奇隆","汪峰", ["国际章","张曼兮","龙泽罗拉"], "陈冠希", ["张柏芝","阿娇",["熊哥",["一本道"],"亮哥",["北京热"],"怼哥",["动物园"],"奇奇",["大象"]],"大S",["小S"],"范冰冰"], "周星驰",["逃学威龙","功夫","大话西游"]] print(li[5][2][1]) print(li[5][2][-1][0]) 结果: ['一本道'] 大象
二、元组(tuple)
定义
tuple tu("1","2") 每个元素以逗号隔开
小括号中一个元素的时候没有逗号就括号中元素的本身
tu("1") print(type(tu)) 结果: <class 'str'>
小括号中一个元素的时候有个逗号就是元组
tu("1",) print(type(tu)) 结果: <class 'tuple'>
空的小括号就是元组
tu() print(type(tu)) 结果: <class 'tuple'>
特点
元组有序,可使用索引、切片、步长
元组属于不可变数据类型
元组只能查看不能修改 -- 元组和列表和相似,元组是不可修改的
作用
存储一些不想让别人修改的数据
元组也可当作容器,存储任意类型
通常用于配置文件和程序中,为了防止误操作修改一些数据
常用操作
查 索引 切片 切片返回的是切之前的数据类型 步长 元组的嵌套
嵌套中查找内容的时候,以逗号分隔就是一个元素
查找方法:
降维 : 一层一层的找
元组与列表的区别
列表是可变的:增删改查
元组是不可变的:只能查
列表使用频繁,元组不怎么实用
以上是关于类型和运算二的主要内容,如果未能解决你的问题,请参考以下文章