Python基础Lists和tuple实例详解
作者:王者之峰 发布时间:2021-09-27 04:11:36
标签:Python,Lists,tuple
Lists
列表可以包含不同类型的元素,甚至是Lists,但是通常是同一个类型的。
if __name__ == '__main__':
squares = [1, 4, [1, 2], "whf", 25]
print(squares)
索引和切片
列表支持使用下标索引元素,支持切片.
if __name__ == '__main__':
squares = [1, 4, [1, 2], "whf", 25]
item1 = squares[0]
print(item1)
item2 = squares[-1]
print(item2)
squaresShallowCopy = squares[1:3]
print(squaresShallowCopy)
print(squaresShallowCopy[0])
squaresShallowCopy[1:2]=[]
print(squaresShallowCopy)
输出:
1
25
[4, [1, 2]]
4
[4]
所有切片操作都会返回一个包含请求元素的新列表,被称为原列表的浅副本。
增删改
增
if __name__ == '__main__':
squares = [1, 4, [1, 2], "whf", 25]
squares.insert(1,3)
print(squares)
输出:
[1, 3, 4, [1, 2], 'whf', 25]
删除
pop无参数就弹出尾部的,有参数可以指定位置:
if __name__ == '__main__':
squares = [1, 4, [1, 2], "whf", 25]
squares.pop(1)
print(squares)
输出:
[1, [1, 2], 'whf', 25]
改
if __name__ == '__main__':
squares = [1, 4, [1, 2], "whf", 25]
squares[0]=0
print()
输出:
[0, 4, [1, 2], 'whf', 25]
连接/拼接
if __name__ == '__main__':
squares = [1, 4, [1, 2], "whf", 25]
squares+=[66,77]
print(squares)
squares.append("88")
print(squares)
print(len(squares))
输出:
[1, 4, [1, 2], 'whf', 25, 66, 77]
[1, 4, [1, 2], 'whf', 25, 66, 77, '88']
8
tuple
tuple和list比较类似,但是tuple是不可变的,所以不能增删改。
tuple使用括号括起来,使用逗号分隔元素,如果是简单的元组可以不用:
t = 1, 2, 3
print(t)
t = ((1, 2, 3), (4, 5, 6))
print(t)
empty = ()
print(empty)
singleton = 'hello',
print(singleton)
print(len(singleton))
输出:
((1, 2, 3), (4, 5, 6))
()
('hello',)
1
解包
t = 1, 2, 3
x, y, z = t
print(x, y, z)
输出:
1 2 3
元素是可变的仍然可变
这个优点像java的final,不能变引用,内容你想变还是可以的:
if __name__ == '__main__':
t = ((1, 2, 3), [4, 5, 6])
list=t[1]
list[0]=3
print(t)
输出:
((1, 2, 3), [3, 5, 6])
namedtuple
具名元组,顾名思义就是让普通元组具有名字,方便对元素进行命名和访问:
Student = namedtuple('Student', ['name', 'age', 'city'])
s = Student('Xiaoming', '19', 'Beijing')
print(s)
print(s[1])
print(getattr(s, 'city'))
输出:
Student(name='Xiaoming', age='19', city='Beijing')
19
Beijing
来源:https://juejin.cn/post/7135421305284722702
0
投稿
猜你喜欢
- 新建图像文件后选Channels面板,新建Alpha1通道; 做压
- 为了防止再次被攻击,做个验证码过滤程序是必要的。我在网上找了一些资料,觉得用别人做好的代码总是很不爽,自己做麻又不会写复杂的代码,特别是生成
- 编写断言使用assert编写断言pytest允许你使用python标准的assert表达式写断言;例如,你可以这样做:# test_samp
- SVG是XML来描述二维图形的语言。SVG可以构造3种类型的图形对象:矢量图形、位图图象和文字。图形对象可被组化、样式化、变形和重组,包括图
- 什么是生成器?生成器是一个包含了特殊关键字yield的函数。当被调用的时候,生成器函数返回一个生成器。可以使用send,throw,clos
- Sql Server的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句集合,是封装重复性工作的一种方法,它支持用户
- 前段时间为准备百度面试恶补的东西,虽然最后还是被刷了,还是把那几天的“战利品”放点上来,算法一直是自己比较薄弱的地方,以后还要更加努力啊。下
- 今天在数据分析时遇到了一个小问题,这时才发现自己的基础知识真的不牢固,所以这里记录一下解决方法问题:我在处理完数据后得到的是一个列表,其中放
- Python中pass的作用空语句 do nothing保证格式完整保证语义完整以if语句为例,在c或c++/java中:if(true);
- 先学会文件的读写!比如像以前在学校读书的时候,第一门编程课设计要求是制作学生管理系统。这就需要使用文件来处理(也可以用数据库,但是一般C语言
- 元数据简介元数据 (metadata) 最常见的定义为“有关数据的结构数据”,或者再简单一点就是“关于数据的信息”,日常生活中的图例、图书馆
- 前言序锦很多时候,当我们在使用编辑器的时候,遇到复制粘贴,修改别人代码等等的时候,都会遇到这个让人头疼的问题,那就是如何解决格式问题,今天就
- 如下所示:coupon = models.ForeignKey("Coupon", on_delete=models.C
- 前不久网上公开了一个MySQL Func的漏洞,讲的是使用MySQL创建一个自定义的函数,然后通过这个函数来攻击服务器。最早看到相关的报道是
- 1.腾讯企业邮箱SMTP服务器地址:smtp.exmail.qq.com,ssl端口为:4652.确保腾讯企业邮箱中开启了SMTP服务:3.
- 首先需要安装Win32-ODBC模块,具体的步骤如下:1:从TOOLS栏目中下载Win32-ODBC.zip,下载完后用winzip解开到一
- 前言如题目所述,又是花费了两天的时间实现了该功能,本来今天下午有些心灰意冷,打算放弃嵌入到Scoll Area中的想法,但最后还是心里一紧,
- 如下所示:#文件内容 lisilock = open("lock_info.txt", "r+",e
- 使用ASP生成图片彩色校验码49行代码,三个文件 Asp文件:Co
- 本文实例讲述了Python使用import导入本地脚本及导入模块的技巧。分享给大家供大家参考,具体如下:导入本地脚本import 如果你要导