当前位置:
首页 > Python基础教程 >
-
Python基础Lists和tuple实例详解
这篇文章主要为大家介绍了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
以上就是Python之Lists和tuple实例详解的详细内容,更多关于Python Lists tuple的资料请关注其它相关文章!
原文链接:https://juejin.cn/post/7135421305284722702
栏目列表
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
开启SQLSERVER数据库缓存依赖优化网站性能
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比