目录

  • 一、列表
    • 1.1 列表介绍
    • 2.2 列表的索引和切片
  • 二、列表的增删改查
  • 三、列表的嵌套
  • 四、元组和元组嵌套
  • 五、 range
  • 复习问题

一、列表

1.1 列表介绍

列表是python的基础数据类型之⼀,其他编程语⾔也有类似的数据类型. 比如JS中的数组, java中的数组等等. 它是以[ ]括起来, 每个元素⽤’ , '隔开而且可以存放各种数据类型:

   list = [1, '哈哈', "吼吼", [1,8,0,"百度"], ("我","叫", "元", "组"), "abc", {"我叫":"dict字典"},{"我叫集合","集合"}]

列表相比于字符串. 不仅可以存放不同的数据类型,而且可以存放大量的数据。32位python可以存放: 536870912个元素, 64位可以存放: 1152921504606846975个元素。而且列表是有序的(按照你保存的顺序),有索引, 可以切⽚⽅便取值。

2.2 列表的索引和切片

列表和字符串一样也拥有索引:

list = ["麻花藤", "王剑林", "⻢芸", "周鸿医", "向华强"]
print(list[0]) # 获取第⼀个元素
print(list[1]) # 获取第⼀个元素
print(list[2]) # 获取第⼀个元素
list[3] = "流动强" # 注意. 列列表是可以发⽣生改变的. 这⾥里里和字符串串不一样
print(list) # ['麻花藤', '王剑林', '⻢芸', '流动强', '向华强']
s0 = "向华强"
s0[1] = "美" # TypeError: 'str' object does not support item assignment  字符串中的值不允许改变
print(s0)

列表的切片:

list = ["麻花藤", "王剑林", "⻢芸", "周鸿医", "向华强"]
print(list[0:3]) # ['麻花藤', '王剑林', '⻢芸']
print(list[:3]) # ['麻花藤', '王剑林', '⻢芸']
print(list[1::2]) # ['王剑林', '周鸿医'] 也有步⻓
print(list[2::-1]) # ['⻢芸', '王剑林', '麻花藤'] 也可以倒着取
print(list[-1:-3:-2]) # 倒着带步⻓

二、列表的增删改查

  1.    注意: list和str是不⼀样的,list可以发⽣生改变, 所以直接就在原来的对象上进⾏了操作。
增加方法 详细
append() 在列表末尾添加元素
insert() 在具体列表索引位置处插入元素,后面元素自动后移
extend() 将指定的列表元素(或任何可迭代的元素)添加到当前列表的末尾
list = ["麻花藤", "林俊杰", "周润发", "周芷若"]
print(list) # ['麻花藤', '林俊杰', '周润发', '周芷若']
list.append("wusir")
print(list) # ['麻花藤', '林俊杰', '周润发', '周芷若', 'wusir']list = []
while True:content = input("请输入你要录⼊的员⼯信息, 输入Q退出:")if content.upper() == 'Q':breaklist.append(content)
print(list)list = ["麻花藤", "张德忠", "孔德福"]
list.insert(1, "刘德华") # 在1的位置插⼊刘德华. 原来的元素向后移动⼀一位
print(list) # ['麻花藤', '刘德华', '张德忠', '孔德福']# 迭代添加
list = ["王志文", "张⼀山", "苦海无涯"]
list.extend(["麻花藤", "麻花不疼"])
print(list) # ['王志文', '张⼀山', '苦海无涯', '麻花藤', '麻花不疼']

2.删除

删除方法 详细
pop() 删除列表对应的索引位置处的元素,默认删除最后一个
remove() 删除列表中第一个指定的元素
clear() 清空列表
del 以索引下标的形式删除列表元素
list = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]
print(list)
deleted = list.pop() # 删除最后一个
print("被删除的", deleted) # 被删除的王富贵
print(list) # ["麻花藤", "王剑林", "李嘉诚"]el = list.pop(2) # 删除2号元素
print(el) # 李嘉诚
print(list) # ["麻花藤", "王剑林"]list.remove("麻花藤") # 删除指定元素
print(list) # ["王剑林"]
# list.remove("哈哈") # 删除不存在的元素会报错
# print(list)# 清空list
list.clear()
print(list) # []# 切片删除
list = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]
del list[0:3]
print(list) # ['王富贵']  去头不去尾
  1. 修改
修改方法 详细
索引修改 用索引的办法选中列表元素进行重新赋值
切片修改 用切片的办法选中列表多个元素进行重新赋值
# 修改
list = ["太白", "太黑", "五色", "银王", "日天"]
list[1] = "太污" # 把1号元素修改成太污
print(list) # ["太白", "太污", "五色", "银王", "日天"]list[1:4:3] = ["麻花藤", "腾讯"] # 切⽚修改也OK. 如果步长不是1, 要注意. 元素的个数
print(list) # ValueError: attempt to assign sequence of size 2 to extended slice of size 1list[1:4:2] = ["麻花藤", "腾讯"]
print(list) # ['太白', '麻花藤', '五色', '腾讯', '日天']list[1:4] = ["李嘉诚"] # 如果切⽚没有步⻓或者步⻓是1. 则不⽤关⼼个数
print(list) # ['太白', '李嘉诚', '日天']
  1. 查询
查询方法 详细
for循环 列表是⼀个可迭代对象, 所以可以进行 for 循环搭配 if 判断,进行筛选查询
in 如果在指定的序列中找到值返回 True,否则返回 False
list = ["太⽩", "太黑", "五色", "银王", "⽇天"]
for i in list:if i == '银王':print(i)break
else:print("没有查询到")print("银王" in list)
  1. 其他操作
其他操作 详细
count() 统计列表中某个元素中的个数
sort() 对列表中的元素进行升序排序
reverse() 对列表中的元素进行取反
len() 求列表中的全部元素的个数
list = ["太白", "太黑", "五色", "银王", "⽇天", "太⽩"]
c = list.count("太⽩") # 查询太⽩出现的次数
print(c)list = [1, 11, 22, 2]
list.sort() # 排序. 默认升序
print(list)
list.sort(reverse=True) # 降序
print(list)list = ["太⽩", "太⿊", "五⾊", "银王", "⽇天", "太⽩"]
print(list)
list.reverse()
print(list)l = len(list) # 列表的⻓度
print(l)

三、列表的嵌套

采用降维操作,一层层的看就好

list = [1, "太⽩", "wusir", ["⻢⻁疼", ["可口可乐"], "王剑林"]]# 找到 wusir
print(list[2])# 找到太⽩和wusir
print(list[1:3])# 找到太⽩的⽩字
print(list[1][1])# 将wusir拿到. 然后⾸字⺟⼤写. 再扔回去
s = list[2]
s = s.capitalize()
list[2] = s
print(list)# 简写
list[2] = list[2].capitalize()
print(list)# 把太⽩换成太⿊
list[1] = list[1].replace("⽩", "⿊")
print(list)# 把⻢⻁疼换成⻢化疼
list[3][0] = list[3][0].replace("⻁", "化")
print(list[3][0])# 把可口可乐列表中的后面增加雪碧
list[3][1].append("雪碧")
print(list)

四、元组和元组嵌套

元组: 俗称不可变的列表。⼜被成为只读列表, 元组也是python的基本数据类型之⼀, ⽤⼩括号括起来, 里⾯可以放任何数据类型的数据, 查询可以、循环也可以、 切片也可以、 但就是不能改(增、删)。

tu = (1, "太⽩", "李⽩", "太⿊", "怎么⿊")
print(tu)
print(tu[0])
print(tu[2])
print(tu[2:5]) # 切片之后还是元组# for循环遍历元组
for el in tu:print(el)# 尝试修改元组
# tu[1] = "马虎疼" # 报错 'tuple' object does not support item assignmenttu = (1, "哈哈", [], "呵呵")
# tu[2] = ["fdsaf"] # 这么改不⾏tu[2].append("麻花藤") # 可以改了. 没报错
tu[2].append("王剑林")
print(tu)  #(1, '哈哈', ['麻花藤', '王剑林'], '呵呵')

关于不可变, 注意: 这里元组的不可变的意思是子元素不可变,而子元素内部的⼦元素是可以变,这取决于⼦元素是否是可变对象

元组中如果只有⼀个元素. ⼀定要添加⼀个逗号, 否则就不是元组

tu = (1,)
print(type(tu))

元组也有count(), index(), len()等方法. 可以自己测试使用

五、 range

range可以帮我们获取到一组数据. 通过for循环能够获取到这些数据

for num in range(10):print(num)for num in range(1, 10, 2):print(num)for num in range(10, 1, -2): # 反着来, 和切⽚片⼀一样print(num)

复习问题

  1. 列表的作用是什么?
  2. 如何获取列表中的元素?
  3. 增加列表中的元素的方法有哪些?分别有什么区别?
  4. 删除列表的元素的方法有哪些?分别有什么区别?
  5. 修改列表中的元素的方法有哪些?分别有什么区别?
  6. 查询列表中的元素的方法有哪些?分别有什么区别?
  7. 如何统计列表中某个元素中的个数?
  8. 如何对列表中的元素进行升序排序?
  9. 如何对列表中的元素进行取反?
  10. 如何求列表中的全部元素的个数?
  11. 遇到多层嵌套列表,该如何对列表元素操作?
  12. 元组与列表对比,各有什么特点?
  13. range函数的作用什么?使用方法是什么?

04. 基本数据类型 - list,tuple相关推荐

  1. VB讲课笔记04:数据类型、运算符与表达式、常用函数

    VB讲课笔记04:数据类型.运算符与表达式.常用函数 一.标识符 VB6.0中,标识符分两类,一类是系统内部定义的标识符, 一类是用户定义的标识符. 系统内部定义的标识符又称关键字或保留字,主要用于标 ...

  2. pythontuple数据类型_Python数据类型之Tuple元组实例详解

    本文实例讲述了Python数据类型之Tuple元组.分享给大家供大家参考,具体如下: tuple元组 1.概述 本质上是一种有序的集合,和列表非常的相似,列表使用[]表示,元组使用()表示. 特点:一 ...

  3. 04. 万恶之源-基本数据类型(list,tuple)

    本节主要内容: 1.列表 2.列表的增删改查 3.列表的嵌套 4.元祖和元祖的嵌套 一.列表 1.1 列表的介绍 列表是python的基础数据类型之一,其他编程语言也有类似的数据类型.比如JS中的数组 ...

  4. python元组元素的提取比_Python 元组数据类型(tuple)详解 [访问元组元素][修改元组元素][删除元组][学习 Python 必备基础知识][看此一篇就够了]...

    您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 1 元 ...

  5. python tuple类型,Python基础数据类型(四) tuple元祖

    元祖tuple(,) 元祖就是不可变的列表 元祖用()表示,元素与元素之间用逗号隔开,数据类型没有限制 tu = ('科比','詹姆斯','乔丹') tu = tuple('123') 小括号中 有一 ...

  6. python tuple args_Python基本数据类型之tuple

    一.创建元组: ages = (11, 22, 33, 44, 55) ages = tuple((11, 22, 33, 44, 55)) 元组和列表几乎一样 元组的元素不可修改,但是元组元素的元素 ...

  7. pythontuple数据类型_数据类型-元组Tuple

    Python Tuple用于存储不可变python对象的序列.元组类似于列表,因为可以改变列表中存储的项的值,而元组是不可变的,并且不能改变存储在元组中的项的值. 元组可以写成用小括号括起来的逗号分隔 ...

  8. [Python基础04]基本数据类型

    文章目录 1.计算机程序概述 2.数据结构 3.程序设计开发基本要素 3.1.基本数据类型 3.1.1.整型Integer(不可变类型) 3.1.2.浮点类型(不可变类型) 3.1.3.布尔类型Boo ...

  9. C++ 笔记(04)— 数据类型(各类型占用内存 sizeof、typedef 声明)

    编程语言中变量保存的是它所存储值的内存位置.也就是说在创建一个变量时,就会在内存中开辟一些空间.操作系统会根据变量的数据类型,来分配内存和决定在保留内存中存储什么. 1. 基本数据类型 类型 关键字 ...

最新文章

  1. 告别硬编码,SpringBoot实现动态增删启停定时任务
  2. python登录微信自动发送消息和绘画好友男女比例
  3. java程序员的第二编程语言应该选什么?
  4. spark之2:原理介绍
  5. Spark RDD的缓存
  6. gulp webpack整合
  7. 【项目经验】--EasyUI DataGrid之右键菜单
  8. C#不同窗体间通信,数据传递
  9. 【白皮书分享】2020智能体白皮书-华为.pdf(附下载链接)
  10. lua游戏脚本自动打怪_了解Lua(官方文档翻译)
  11. 【图像重建】基于matlab ASTRA算法图像重建【含Matlab源码 090期】
  12. iphone双重认证关闭不了怎么办_iPhone双重认证怎么关闭?苹果手机关闭双重认证的两种方法[多图]...
  13. 《英语语法新思维初级教程》学习笔记(八)一般时态
  14. puts()函数详解
  15. 最后一批90后开始养生了,中医科普短视频会火吗?
  16. CST微波工作室端口和激励
  17. 阿里云数据库迁移遇到的问题总结
  18. 云主机1元简直就不是骗人的,大家不要上当受骗了呢
  19. DataGridView 控件中自动生成列
  20. 大数据管理与分析技术(1)

热门文章

  1. tableau和oracle dv,比较Power BI和Tableau,好比用奔驰对比奥迪
  2. 仿知乎日报图文小程序模板
  3. 怎么把一副图片用PS调成简笔画?
  4. android 电量排行榜,高端Android手机电池续航排行榜 Droid居榜首
  5. 射频工程师应该具备的知识技术体系和心态
  6. 虚拟机linux环境的地址怎么映射给局域网内其他电脑访问
  7. 20200414-AMD的Ryzen5-4500U的性能对比测试(宏碁SF314(Acer)传奇 14英寸 )
  8. 一周侃 | 周末随笔
  9. 猫小胖服务器位置,最终幻想14新增猫小胖大区拆分陆行鸟大区-最终幻想14国服大区调整计划公布!-Appfound...
  10. JAVA 导出Excel 带有多个公式函数