python_0基础开始_day04
第四节
一、列表 list
数据类型之一,存储大量的,不同类型的数据
列表中只要用逗号隔开的就是一个元素
有序可变的。
1.1列表的索引
列表和字符串一样也拥有索引,但是列表可以修改:
lst = ['张三','李四','赵五','陈六']print(lst[0]) # 列表中第一个元素print(lst[1]) # 列表中第二个元素print(lst[2]) # 列表中第三个元素
1.2列表的切片
切片的用法和步长和字符串一样。顾头不顾尾。
lst = ["章", "菲", "绣", "花", "鲁迅"] print(lst[0:3]) # ['章', '菲', '绣'] print(lst[:3]) # ['章', '菲', '绣']print(lst[1::2]) # ['菲', '花'] 也有步长 print(lst[2::-1]) # ['绣', '菲', '章'] 也可以倒着取 print(lst[-1:-3:-2]) # 倒着带步长
练习:
li = [1, 3, 2, "a", 4, "b", 5,"c"]通过对li列表的切片形成新的列表l1,l1 = [1,3,2]通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]通过对li列表的切片形成新的列表l3,l3 = ["1,2,4,5]通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]通过对li列表的切片形成新的列表l5,l5 = ["c"]通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
1.3列表的增删改查
增
注意:list和str是不一样的. lst可以发生改变. 所以直接就在原来的对象上进行了操作
追加模式
append() —— 追加,在列表的末尾进行添加
lst = ["章", "菲", "绣", "花", "鲁迅"] print(lst) # ["章", "菲", "绣", "花", "鲁迅"] lst.append("吃鸡") print(lst) # ["章", "菲", "绣", "花", "鲁迅","吃鸡"]insert(索引,插入内容) —— 插入
lst = ["章", "菲", "绣", "花", "鲁迅"] lst.insert(1, "许褚") # 在1的位置插入许褚. 原来的元素向后移动一位print(lst) # ["章", "许褚","菲", "绣", "花", "鲁迅"]
extend() —— 迭代添加
# 迭代添加lst = ["金志文", "张一山", "苦海无涯"]lst.extend(["麻花藤", "麻花不疼"])print(lst) # ["金志文", "张一山", "苦海无涯","麻花藤", "麻花不疼"]
删
pop —— 删除
lst = ["章", "菲", "绣", "花", "鲁迅"]print(repr(lst.pop(2))) # repr()查看当前数据的原生态print(lst) #["章", "菲", "花", "鲁迅"]
clear() —— 清空
lst = ["章", "菲", "绣", "花", "鲁迅"] print(lst) # ["章", "菲", "绣", "花", "鲁迅"] lst.clear()print(lst) # [s]
del list —— 通过索引,切片,步长删除
lst = ["章", "菲", "绣", "花", "鲁迅"]del lst[3] # ["章", "菲", "绣", "鲁迅"] del lst[1:4]# ["章","鲁迅"]del lst[1::2] # ['章', '绣', '鲁迅']
改
通过索引修改
lst = ["章", "菲", "绣", "花", "鲁迅"]lst[1] = "小野猪"print(lst) # ["章", "小野猪", "绣", "花", "鲁迅"]
通过切片进行修改,默认步长为1,修改的内容必须是可迭代的对象,修改的内容可多可少
lst = ["章", "菲", "绣", "花", "鲁迅"]lst[1:3] = "小野猪" # 默认步长为1print(lst) # ['章', '小', '野', '猪', '花', '鲁迅']lst[1:5:2] = "小芳","青青草原" # 步长不为1的时候,必须一一对应print(lst) # ['章', '小芳', '绣', '青青草原', '鲁迅']
查
for循环
lst = ["章", "菲", "绣", "花", "鲁迅"]for i in lst: print(i)
索引
1.4列表的嵌套
一层一层的查找,[...]视为一个元素
lst1 = ["国际章", "阿娇", ['汪峰', "国际章", "小苹果", "小姨"],["蔡徐坤", ["篮球", "姚明", "林书豪"], ["唱", "邓丽君", "蔡国庆", "腾格尔"],["跳", "蔡依林", "罗志祥", "赵四", "社会摇"],["cnb", "alex", "rimo"]]]print(lst[-3][-1]) # 腾格尔
二、元组
python数据类型之一。tuple:有序,不可变;只支持查询,不支持增删改。
(元组就是一个不可变的列表)
统计 —— count():统计某个元素出现的次数
tu = (1,2,3,4,5,1,2,1)print(tu.count(1)) # 3 统计元素在元组中出现的次数
获取索引 —— index():通过元素查询索引
tu = (1,2,3,4,5,1,2,1)print(tu.index(2)) # 1 通过元素查询索引
用途:就是将一些非常重要的不可让人改动的数据放在元祖中,只供查看。
元组的嵌套
tu = (1,2,3,4,(5,6,7,8,("alex","wusir",[1,23,4])))print(tu[4][4][0]) # alex
三、range
range —— 范围
print(range(1,10)) # Python3中打印range是自己range自己本身 print range(1,10) # Python2中打印range获取的是一个列表,列表的元素是1-9
range(1,10) # [起始位置:终止位置] 顾头不顾尾 range(1,10,2) # [起始位置:终止位置:步长] 默认为 1 range(10) # 10代表的是终止位置,起始位置默认为0 range是一个可迭代对象
range的诞生是为了解决不能循环数字
for i in range(2,10,2):
print(i) # 2 4 6 8
for i in range(0,100,2):
print(i) # 0到100(不包含)以内的所有偶数
for i in range(1,100,2):
print(i) # 1到100(不包含)以内的所有奇数
for i in range(100):
print(i) # 0~99所有的数
for i in range(100,-1,-1):
print(i) # 100~0
for i in range(100,-11,-1):
print(i) # 100~-10
后续还会持续更新,从入门到放弃 ^.^。
python_0基础开始_day04的更多相关文章
- python_0基础学习_day02
第二节 一,while while也称为无限循环.死循环 while 条件: 缩进 循环体 应用领域:音乐播放:单曲循环,列表循环,随机播放(也是有规律的) 登陆界面:…… 数学计算:1~100的和, ...
- python_0基础学习_day01
Python是一门动态解释型的强类型定义语言 一.变量 变量命名规则 由数字.字母.下划线组成 不能以数字开头 要具有描述性 要区分大小写 禁止使用python的关键字(在pycharm中关键字明明变 ...
- python_0基础开始_day07
第七节 1,基础数据类型补充 str: print(str.capitalize()) —— 首字母大写 print(str.title()) —— 每个单词的首字母大写 print(str.swap ...
- python_0基础开始_day06
第六节 1.小数据池 ==,is,id ==:查看等号两边的值是否一样 a = 9b = 9print(a == b) # 返回Truec = "dog"d = "dog ...
- python_0基础开始_day03
第三节 一.整形和布尔值的转换 int整型 python3: 全部都是整型 python2: 整型,长整型long 十进制转换二进制 # 将十进制的168转换为二进制 #得出结果 将十进制的168转 ...
- python_0基础开始_day05
第五节 一.字典 python的数据结构之一 字典 —— dict 定义:dic = {"key":"dajjlad"} 作用:存储数据,大量,将数据和数据起到 ...
- python_0基础开始_day13
第十三节 一,匿名函数 匿名函数 == 一行函数 lambda == def == 关键字 函数体中存放的是代码 生成器体中存放的也是代码 就是yield导致函数和生成器的结果不统一 lambda x ...
- python_0基础开始_day12
第十二节 一,生成器 生成器的核心:生成器的本质就是迭代器 迭代器是python自带的 生成器是程序员自己写的一种迭代器 在python中有三种方式来创建生成器: 基于函数编写 推导式方式编写 pyt ...
- python_0基础开始_day11
第十一节 一,函数名的第一类对象 函数名当作值,赋值给变量 print(函数名) 查看看书的内存地址 函数名可以当作容器中的元素 lis = []dic = {}def func(): prin ...
随机推荐
- 推荐系统系列(五):Deep Crossing理论与实践
背景 特征工程是绕不开的话题,巧妙的特征组合也许能够为模型带来质的提升.但同时,特征工程耗费的资源也是相当可观的,对于后期模型特征的维护.模型线上部署不太友好.2016年,微软提出Deep Cross ...
- Java线程之如何分析死锁及避免死锁
什么是死锁 java中的死锁是一种编程情况,其中两个或多个线程被永久阻塞,Java死锁情况出现至少两个线程和两个或更多资源. 在这里,我们将写了一个简单的程序,它将导致java死锁场景,然后我们将分析 ...
- PHP-异常-1
PHP 错误处理 在 PHP 中,默认的错误处理很简单.一条消息会被发送到浏览器,这条消息带有文件名.行号以及一条描述错误的消息. 在创建脚本和 web 应用程序时,错误处理是一个重要的部分.如果您的 ...
- Java多线程核心知识(跳槽面试必备)
多线程相对于其他 Java 知识点来讲,有一定的学习门槛,并且了解起来比较费劲.在平时工作中如若使用不当会出现数据错乱.执行效率低(还不如单线程去运行)或者死锁程序挂掉等等问题,所以掌握了解多线程至关 ...
- koa 基础(二十二)封装 DB 库 --- 测试
1.根目录/module/config.js /** * 配置文件 */ var app = { dbUrl: 'mongodb://127.0.0.1:27017/?gssapiServiceNam ...
- git add时遇到类似fatal: Path 'XXX' is in submodule 'XXX'错误提示如何解决?
答:示例如下: fatal: Pathspec 'Vundle.vim/autoload/vundle.vim' is in submodule '.vim/bundle/Vundle.vim' 解决 ...
- 什么叫DMZ区?DMZ区有什么作用?应该怎样构建DMZ
您的公司有一堆电脑,但可以归为两大类:客户机.服务器.所谓客户机就是主动发起连接请求的机器,所谓服务器就是被动响应提供某些服务的机器.服务器又可以分仅供企业内网使用和为外网提供服务两种. 所以,如果把 ...
- Linux的ifconfig看到的信息详解
Linux的ifconfig看到的信息详解 [root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr :::BF:: inet addr ...
- 内网gitlab访问外网
外网要访问内网,内网出口必须有公网ip,且外网访问内部网络可以用花生壳,可以用主机端口映射 写ansible调api,打通内网到阿里云的master节点 如何将公司内网与云服务器内网打通 参照 ...
- python爬虫播放mp3
我不明白这里出了什么问题.每次我试图在pyglet播放声音,我得到以下错误:WAVEFormatException: AVbin is required to decode compressed me ...