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


猜你喜欢
- ALTER TABLE允许你修改一个现有表的结构。例如,你可以增加或删除列、创造或消去索引、改变现有列的类型、或重新命名列或表本身。你也能改
- 使用bootstrap-paginator.js 分页来进行ajax 异步分页请求具体的做法如下 :首先定义一个异步提交请求的ajax 函数
- 在JS中有些内存只需执行一遍即可,如浏览器类型检测是最常用的一个功能,因为我们使用Ajax的时候需要检测浏览器的内置的XHR。我们可以在第一
- Function getIpvalue(clientIP)'得到客户端的IP转换成长整型,返回值getIpvalue&nb
- 在Web渗透流程的暴力登录场景和爬虫抓取场景中,经常会遇到一些登录表单用DES之类的加密方式来加密参数,也就是说,你不搞定这些前端加密,
- 算法优缺点:优点:容易实现缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢使用数据类型:数值型数据算法思想k-means算法实际上就是通
- 今天要做个搜索,用到了时间比较函数!以前多是直接比较时间,查询语句有长效率又不高~~~后来用了DateDiff函数,在调试的时候发现了一些问
- 本文实例讲述了Python使用正则表达式过滤或替换HTML标签的方法。分享给大家供大家参考,具体如下:python正则表达式关键内容:pyt
- Linux添加mysql系统环境变量昨天安装完mysql后,直接在export PATH上面一行,增加了export PATH=/usr/l
- 一 什么是XML?python与json数据的交互详情 在这篇文章中我们介绍了json是一种独立于编程语言和平台的数据存储和交换方
- 关于Python 黑魔法 metaclass 的两种极端观点:这种特性太牛逼了,是无所不能的阿拉丁神灯,必须找机会用上才能显示自己的 Pyt
- 要自动签到,最简单的是打开页面分析请求,然后我们用脚本实现请求的自动化。但是发现食行没有页面,只有 APP,这不是一个好消息,这意味着需要抓
- 把 Oracle 数据库从 RAC 集群迁移到单机环境一、系统环境1、源数据库db_name:hisdb SID:hisdb1、
- 文件下载(遇到的坑)1.要区分下载的内容是什么0.1 图片下载wx.saveImageToPhotosAlbum(Object
- 因此,常常出现这样的错误select * from [IND] where INDID>10unionselect * from [I
- 背景本文总结pytest的测试用例参数化。说明软件测试中,输入相应值,检查期望值,是常见测试方法。在自动化测试中,一个测试用例对应一个测试点
- 本文方案适用于Microsoft Sql Server 2008/2012/2012 r2/2014版本,以下简称MSSQLSERVER。M
- 本篇文章主要介绍vue添加标签,废话不多说了,下面上具体代码效果如下:html<div id="app">&
- 听说最近流行JQ风格的语法,不流行EXT风格了一.//ajax类fw=window.fw||{};fw.ajax = { &nbs
- Python中怎么使用第三方模块?在Python可以在代码中导入模块,然后就可以使用第三方模块了。import 语句想使用Python源文件