基本数据类型之“列表元组”
列表
1.1 列表的介绍
列表是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类型,比如以下示例:
lst = [1,'哈哈','abc',[1,8,0,"百度"],("我","叫","元组"),{"我叫":"dict字典"},{"我叫集合","集合"}]
列表相比于字符串,不仅可以存放不同的数据类型,而且可以存放大量的数据,32位python可以存放536870912个元素,64位可以存放1152921504606846975个元素,而且列表是有序的(按照你保存的顺序),有索引,可以切片,方便取值。
1.2 列表的索引和切片
lst = ["王力宏","周渝民","黄渤","黄磊","刘涛"]print(lst[0]) # 获取第一个元素,即结果为:王力宏print(lst[1])print(lst[2])lst[3] = "刘宪华" # 注意:列表是可以发生改变的,这点和字符串有区别print(lst) # 结果为:['王力宏', '周渝民', '黄渤', '刘宪华', '刘涛']# 而字符串不能通过索引改变,否则报错,如下代码str = '孙红雷'str[0] = '王' # 报错提示为 TypeError: 'str' object does not support item assignment
注意:列表是可以发生改变的,这点和字符串不一样,字符串不能通过索引去改变值。
列表也可以切片,同字符串的切片规则一样,切出来的内容是列表类型,具体如下示例:
lst = ["王力宏","周渝民","黄渤","黄磊","刘涛"]print(lst[0:3]) # ['王力宏', '周渝民', '黄渤']print(lst[:2]) # ['王力宏', '周渝民']print(lst[1::2]) # ['周渝民', '黄磊']print(lst[2::-1]) # ['黄渤', '周渝民', '王力宏']print(lst[-1:-5:-2]) # ['刘涛', '黄渤']
列表的增删改查
注意:列表(list)和字符串(str)是不一样的,lst可以发生改变,所以直接就在原来的对象上进行了操作。
2.1 增加
列表的增加操作有:append,insert,extend,具体用法如下示例:
lst = ['王力宏','周渝民','黄渤','黄磊']lst.append('孙红雷') # 在末尾追加,每次只能增加一个元素print(lst) # ['王力宏', '周渝民', '黄渤', '黄磊', '孙红雷']lst.insert(1,'李晨') # 在指定index的位置插入指定元素print(lst) # ['王力宏', '李晨', '周渝民', '黄渤', '黄磊', '孙红雷']lst.extend(['杨颖','邓超','陈赫']) # 迭代添加,一次可以增加多个元素print(lst) # ['王力宏', '李晨', '周渝民', '黄渤', '黄磊', '孙红雷', '杨颖', '邓超', '陈赫']
注意:数字和bool值是不可以用extend添加的,因为他们不是可迭代对象。
2.2 删除
列表的删除操作有:pop,remove, clear,del,具体用法如下示例:
lst = ['王力宏','周渝民','黄渤','黄磊']print(lst.pop(0)) # 删除索引为0的元素,返回所删除的元素,结果为:王力宏print(lst) # 列表内容变为['周渝民','黄渤','黄磊']lst.remove('周渝民') # 删除指定元素,返回值为None , 注意:删除一个不存在的元素会报错print(lst) # 列表内容变为['黄渤', '黄磊']lst.clear() # 清空列表print(lst) # lst变为一个空列表,结果为:[]# 切片删除lst = ['王力宏','周渝民','黄渤','黄磊']del lst[1:3] # 删除索引为1和2的元素print(lst) # 结果为:['王力宏','黄磊']
注意:pop没有参数默认删除最后一个元素。remove('元素')删除一个不存在的元素会报错。
2.3 修改
列表可以通过索引和切片来修改
lst1 = ['王者农药','魔兽世界','DNF','逆水寒','反恐精英']lst1[0] = '扫雷' # 把索引为0的元素改为 '扫雷'print(lst1) # ['扫雷', '魔兽世界', 'DNF', '逆水寒', '反恐精英']lst1[1::2] = ['qq华夏','qq三国'] # 切片修改时,如果步长不是1,则要注意元素个数print(lst1) # 结果为:['扫雷', 'qq华夏', 'DNF', 'qq三国', '反恐精英']lst1[1:3] = ['泡泡卡丁车']print(lst1) # 结果为:['扫雷', '泡泡卡丁车', 'qq三国', '反恐精英']
列表通过切片修改可理解为先删除再迭代添加。
注意:当切片修改时,若步长不是1,则要注意元素个数是否匹配,不匹配会报错。
2.4 查询
列表是一个可迭代对象,所以可以进行for循环,代码如下:
for el in lst:print(el)
2.5 其他操作
列表的其他操作有:sort,reverse,len,具体用法如下示例:
lst = [1,34,20,6,89,4,66]lst.sort() # 排序,默认升序print(lst) # [1, 4, 6, 20, 34, 66, 89]lst.sort(reverse=True)print(lst) # [89, 66, 34, 20, 6, 4, 1]lst1 = ['张三','李四','李红','赵明','王刚','孙进']lst1.reverse()print(lst1) # ['孙进', '王刚', '赵明', '李红', '李四', '张三']
列表的长度可以用len(lst)。
列表的嵌套
采用降维操作,一层一层的看就好。示例如下:
lst = [1,'太白','wusir',['马虎疼',['可口可乐'],'王健林']]print(lst[2]) # wusirprint(lst[1:3]) # ['太白', 'wusir']print(lst[1][1]) # 白lst[2] = lst[2].capitalize()print(lst) # [1, '太白', 'Wusir', ['马虎疼', ['可口可乐'], '王健林']]lst[3][0] = lst[3][0].replace('虎','化')print(lst) # [1, '太白', 'Wusir', ['马化疼', ['可口可乐'], '王健林']]
元组和元组的嵌套
元组:俗称不可变的列表,又被称为只读列表,元组也是python的基本数据类型之一,用小括号()括起来,里面可以放任何数据类型的数据,可以查询,也可以循环,也可以切片,但就是不能改。具体示例如下代码:
tu = ("土豆丝","拍黄瓜","鱼香肉丝","红烧肉","小炒肉")print(tu[0]) # 返回索引为0的元素print(tu[1])print(tu[2:5]) # 切片之后还是元组类型
尝试修改元组则会报错,如下代码:
tu[1] = "锅包肉" # 报错TypeError: 'tuple' object does not support item assignment
关于不可变,注意:这里元组不可变的意思是子元素不可变,而子元素内部的子元素是可以变的,这取决于子元素是否是可变对象。如下代码示例:
tu = (1,'哈哈',[],'呵呵')# tu[2] = ['hello'] # 报错 TypeError: 'tuple' object does not support item assignmenttu[2].append('hello')print(tu) # (1, '哈哈', ['hello'], '呵呵')
元组中如果只有一个元素,一定要添加一个逗号,否则就不是元组。如:tu = (1,)
空元组用 tu = tuple()表示。
元组也是可迭代对象,所以也可以用for循环遍历元组,代码如下:
for el in tu:print(el)元组也有count(),index(),len()等方法。
range
range可以帮我们获取到一组数据,通过for循环能够获取到这些数据。具体示例如下:
# range()是一个可迭代对象
for i in range(10): # range(n) 0 -> n-1print(i)for i in range(1,10): # range(m,n) m -> n-1print(i)for i in range(1,10,3): # range(m,n,q) m -> n-1 每q个取一个print(i)for i in range(100,90,-1): # 倒着取print(i)# 0 1 2 3 4 5
lst = ['砂锅','馒头','盖浇饭','刀削面','大麻花','大煎饼']
# 获取到列表的索引,拿到索引之后,可以拿到元素
for i in range(len(lst)):print(i) # i就是lst的索引print(lst[i])
转载于:https://www.cnblogs.com/wqzn/p/9396017.html
基本数据类型之“列表元组”相关推荐
- python基础数据类型之列表,元组(基础二)
第四章 python基础数据类型之列表,元组(基础二) python常用数据类型之组合数据类型:列表,元组. 4.1 列表 list 列表介绍 列表是python的基础数据类型之⼀ ,其他编程语⾔言也 ...
- python中的可变数据类型有列表和元组_Python中列表的 += 和 .extend() 的异同
一道Python题 最近有朋友"考"了我一个Python的题:使用+=和.extend()两种方法扩展元组中的列表会发生什么.虽然我对Python中的可变数据类型.不可变数据类型的 ...
- python变量 数据类型 列表 元组 字典
python基础语法2 变量 数据类型与类型转换 列表 添加列表元素 修改元素 删除列表元素 组织列表 创建数值列表 操作列表 元组 元组转列表 字典 创建字典 列表取值 字典删除增加修改 变量 变量 ...
- Python基础知识总结—数据类型,列表,元组,集合,字典
目录 数据类型 列表 元组 集合 字典 数据类型 列表 列表(动态数组) 定义空列表[ ] list()可以将其他序列转为列表 如:str类型 列表和字符串一样接收索引与切片 list[索引:切片:步 ...
- python中列表的元素是什么数据类型_python基本数据类型之列表和元组(一)
python基本数据类型之列表与元组(一) python中list与tuple都是可以遍历类型.不同的是,list是可以修改的,而元组属于不可变类型,不能修改. 列表和元组中的元素可以是任意类型,并且 ...
- Python数据类型、列表、元组、字典、集合增删改查(切片)
Python基础(数据类型) 有问题可以➕QQ:1606269318来交流沟通. 以下全是干货,对刚学Python是挺有帮助的. 1.Numbers(数字): 1)整数(int) 通常被称为是整型或整 ...
- python有哪几种基本数据类型_Python最基本的数据类型以及对元组的介绍 Python 中列表和元组有哪些区别...
python的数据类型有哪些?道不同不相为谋,你讨厌我,我也未必喜欢你.各走各的人岂不是更潇洒何必咄咄逼人费了口舌也讨人嫌.你闲得慌,我可没空陪你. 1. 数字类型 Python数字类型主要包括int ...
- Python列表,元组,字典的区别
Python列表,元组,字典的区别: 1.元组是不可变的, 而列表.字典是可变的.元组是不可变对象,对象一旦生成,它的值将不能更改:列表是可变对象,对象生成后,可以对其元素进行更改.添加.删除.清空. ...
- Python学习之路,第二次复习:列表,元组
说明:以下总结参考博客园@金角大王. 1 列表 定义列表 names = ['Alex',"Tenglan",'Eric'] 通过列表下标访问列表中的元素,从0开始 >> ...
最新文章
- 又爱又恨的 Microsoft Edge!
- 李迅雷+但斌+趋势的力量+对话PPT
- pandas 将自己的文件写入csv
- UDP穿越NAT原理
- 向spark standalone集群提交任务
- 蜘蛛纸牌java注释_自己摸索的纸牌游戏代码,感觉还有很多知识不懂,任重道远啊!...
- 关于shared_from_this的转换
- 如何过滤某一频率的声音
- 618买手机哪家强?苹果官方也来打折促销了
- 【Android Studio快捷键】之导入相应包声明(import packages)
- Python 数据结构与算法 —— Prim 算法与小顶堆
- 51NOD 1623 完美消除 数位DP
- 湖南大学计算机学院张柏杨,王树林-湖大信息科学与工程学院
- Python的pandas安装超级详细
- html5制作旋转正方体,html5—旋转立方体
- 关于数据库时区,这么多奥秘你都知道么?
- python(12)—— 图形用户界面Tkinter
- 医疗对话摘要论文阅读笔记
- Unity - Timeline 之About Timeline(关于Timeline)
- 电脑系统怎么重装?PE系统安装教程一键系统重装
热门文章
- GIT乱码解决方案汇总及GIT用户名和邮箱修改
- 文件转码(mp3\mp4\rmvb\avi\pdf\txt等)--Ubuntu小笔记
- 前端自定义网页鼠标右键菜单
- php提交成功js弹窗,基于JS+HTML实现弹窗提示是否确认提交功能
- 【100%通过率】华为OD机试真题 Python 实现【最长的密码】【2022.11 Q4 新题】
- GitHub的女装大佬项目迅速蹿红,并引发广大程序员热议!
- 前端接收图片流并展示图片
- android网速测试app,Android网速测试App(二)
- 最短路径算法Dijstra及优化
- linux i2c驱动相关结构体