python学习之路---day04
一:元组
元组案例:tuple=("张三","李四","王五","小六","大七",["1","2","3","4"]) 特点:不可变 只读列表。 也有索引 和切片功能 01):把字符串通过小括号()括起来,中间通过逗号(,)链接连接起来的就是元组。如果元素中有列表, 则列表这个元素是不需要加双引号的,如上案例! 02):元组中间的元素是不能改变的!(因为元素内部第一层的内存地址是无法改变的)但是如果元素中间有列表, 那那个列表是可以改变的! 案例中tuple[5]的列表是可以改变的! (元组的不可变. 元组的不可变指的是元组内部第一层元素的内存地址) 03):元组也是有索引的(也是从左往右,从0开始数) 案例中:tuple[0]="张三" 打印:张三 tuple[5]=['1', '2', '3', '4'] 打印:['1', '2', '3', '4'] 04):tuple_1=("123",) 元组中如果只有一个元素,则必须加一个逗号。 05):tuple=("张三","李四","王五","小六","大七",["1","2","3","4"]) 元组不可改变,所以是不能增加元素的但是元组里的列表是可以增删改除的 tuple[5]=["1","2","3","4"] 例如增加:tuple.append("678") 打印:tuple[5]=["1","2","3","4","678"] 06):当强行改变元组的元素时会报错! tuple=("张三","李四","王五","小六","大七",["1","2","3","4"]) tuple[1]="诸葛型" 报错:TypeError: 'tuple' object does not support item assignment
二:列表:lst(不能用“list” 这个单词做列表的名字,这样会覆盖掉元素里面的python里面的关键字) 01):列表:可以装对象的对象(像书包里装电脑)(可以装任何元素),排列顺序按照我们添加的顺序保存! 02):在代码中用 [] 表示,里面可以放任何数据("" 空元素也是可以放的。 )。中间通过 逗号(,)链接, 一定要注意是实在英文状态下的标点符号 03):列表也是有增删改查的功能 # 例子: lst = ["字符", 0, True, ["123",[], []]] 001):列表元素读取:lst[0] 打印结果: 字符 002):切片:lst[0:2] 打印:['字符', 0] -----〉〉〉切片打印后的结果是一个列表。 列表切片也是顾头不顾尾 lst[0:2) 前闭后开
增删改查: 01)增: 1: .append() 是追加在末尾。 lst=["1","2","3","4","5","6"] print(lst.append("7")) 打印:None # 可变的数据类型 没有返回值 正确代码:st=["1","2","3","4","5","6"] lst.append("7") print(lst) 打印结果:st=["1","2","3","4","5","6","7"]
2: .insert()插入到指定位置上 lst=["1","2","3","4","5","6"] lst.insert(索引,"内容") 插入的是 list.insert(1,"9999") 打印结果: ['1', '9999', '2', '3', '4', '5', '6']
3: .extend() 迭代添加(会把添加的内容分开往后面添加) lst=["1","2","3","4","5","6"] lst.extend("言午许") print(lst) 打印结果:['1', '2', '3', '4', '5', '6', '言', '午', '许']
如果不需要他进行迭代添加,则只需要将其变成列表就行: 例如: lst=["1","2","3","4","5","6"] lst.extend(["言午许"]) print(lst) 打印结果: ['1', '2', '3', '4', '5', '6', '言午许']
02)删 一:单个元素删除:删除指定的元素 del lst=["1","2","3","4","5","6"] del lst[0] print(lst) del 列表名[索引] 是删除列表中索引的的对应的元素 del 批量删除 lst=["1","2","3","4","5","6"] del lst[1] 类似pop删除 --〉['1', '3', '4', '5', '6'] del lst[2:] 批量删除 --->['1', '2'] del lst[0:5:1] 切片删除(从0到5 没两个数删除一个数)--->['1', '3', '5', '6']
clear 清空列表 lst=["1","2","3","4","5","6"] lst.clear() print(lst) 打印:[]
pop: lst=["1","2","3","4","5","6"] lst.pop(0) ----〉〉〉此时括号变成了小括号 print(lst)
03)改 指定位置修改: lst=["1","2","3","4","5","6"] lst[3]="9999" print(lst) 打印:['1', '2', '3', '9999', '5', '6']
迭代修改: lst=["1","2","3","4","5","6"] lst[1:4]="言午许" print(lst) 打印: ['1', '言', '午', '许', '5', '6']
切片修改: lst=["1","2","3","4","5","6"] lst[::2]=["小猫","小狗"] print(lst) 打印:ValueError: attempt to assign sequence of size 2 to extended slice of size 3 此时:切片的出来步长 如果不是1,那么给定的元素必须要要和切出来的元素个数一样,那么才有 足够的元素去填补被切掉的部分。(同给的元素多了,切割的位置不够也还是会报错的!--〉 ValueError: attempt to assign sequence of size 3 to extended slice of size 2)
修改后的代码: lst=["1","2","3","4","5","6"] lst[::2]=["小猫","小狗","旺财"] print(lst) 打印结果:['小猫', '2', '小狗', '4', '旺财', '6']
04):查 lst=['小猫', '2', '小狗', '4', '旺财', '6'] for n in lst #n 表示lst中的每一项 print(n) 打印结果: 小猫 2 小狗 4 旺财三:排序: 01): 从小到大排序 # 切记。不要给字符串排序, 等后面内置函数的时候 # lst.sort() # 排序. 从小到大. 升序 lst = [1, 2, 4, 21, 4, 2, 22, 123, 4, 68] lst.sort() print(lst) 打印结果:[1, 2, 2, 4, 4, 4, 21, 22, 68, 123] 从大到小排序: lst = [1, 2, 4, 21, 76, 2, 22, 123, 4, 68] lst.sort(reverse=True) print(lst) 打印结果: [123, 76, 68, 22, 21, 4, 4, 2, 2, 1]
lst = [1, 2, 4, 21, 4, 2, 22, 123, 4, 68] lst.reverse() #将列表翻转过来 print(lst) 打印结果:[68, 4, 123, 22, 2, 4, 21, 4, 2, 1] print(len(lst)) 打印结果:10 指列表的元素个数(即 列表的长度)
四:列表嵌套: lst = [["葫芦娃", "黑猫警长","西游记"], ["武斗乾坤", "wahaha", "斗破苍穹", "盘龙"], ["三体", "明朝那些事儿"]] 将wahaha里面的h改为”恩“ lst[1][1]=lst[1][1].replace("h","恩") #直接打印print(lst[1][1].replace("h","恩")) 打印结果和原来是一样的,因为原列表下lst[1][1]是一个字符串, #必须要先将重新改掉的字符串赋给一个新的变量才行。 print(lst) 打印结果:[['葫芦娃', '黑猫警长', '西游记'], ['武斗乾坤', 'wa恩a恩a', '斗破苍穹', '盘龙'], ['三体', '明朝那些事儿']] # lst[1].insert(1, "大闹天宫") # 对于内部元素如果是可变的数据类型。 直接改就行了
python学习之路---day04的更多相关文章
- Python学习之路—————day04
今日内容: 1. 循环语句 1.1 if判断 1.2 while循环 1.3 for循环 一.if判断 语法一: if 条件 代码块1 代码块2 代码块3 # 例: sex='female' age= ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python 学习之路开始了
python 学习之路开始了.....记录点点滴滴....
- python学习之路,2018.8.9
python学习之路,2018.8.9, 学习是一个长期坚持的过程,加油吧,少年!
随机推荐
- SSM框架整合(Spring+SrpingMVC+Mybatis) 简单案例
简介: SSM框架是Spring,SpringMVC 和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,dao层四层. Spring实现 ...
- [bzoj3223]文艺平衡树(splay区间反转模板)
解题关键:splay模板题. #include<cstdio> #include<cstring> #include<algorithm> #include< ...
- 360 安全卫士 for Linux 使用结果
测试了一把,结果显示360基本对Linux社区规范和安全常识不give a fuck. 胡乱打包 首先,这个deb包就是胡乱打包,依赖关系就没弄好: $ dpkg-deb -I 360safeforl ...
- Django--登录实例
1.准备工作 创建必要的目录和文件,导入js,css,bootstrap等,目录结构如下: 2.配置文件添加static路径 settings.py 1 2 3 4 STATIC_URL = '/st ...
- linux命令下载安装软件
在ubuntu下获取对应内核源码命令 Ubuntu的包管理系统,为您提供了一种高效快捷的软件管理方式,您只要知道您需要什么软件就可以了,甚至不需要关心它存放在网络上的哪一台服务器中,而且绝大多数的软件 ...
- python,itertools模块
itertools模块的使用: # coding=utf-8 """ itertools模块 """ import itertools im ...
- HttpAnalyzerStdV7安装教程
相关链接:HttpAnalyzerStdV7使用教程 安装步骤: 1.解压压缩包 2.双击运行安装文件 3.根据向导提示点击Next 4.选择接受协议,点击Next 5.修改安装路 ...
- 【2008nmj】Logistic回归二元分类感知器算法.docx
给你一堆样本数据(xi,yi),并标上标签[0,1],让你建立模型(分类感知器二元),对于新给的测试数据进行分类. 要将两种数据分开,这是一个分类问题,建立数学模型,(x,y,z),z指示[0,1], ...
- BZOJ 2301 Problem b(莫比乌斯反演+分块优化)
Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数 ...
- poj3080 Blue Jeans(暴枚+kmp)
Description The Genographic Project is a research partnership between IBM and The National Geographi ...