Python基础Lists和tuple实例详解

发布时间:2022-8-26 09:26

这篇文章主要为大家介绍了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)

输出:

125[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')19Beijing

GoLang与Java各自生成grpc代码流程介绍 生活杂谈

GoLang与Java各自生成grpc代码流程介绍

1.背景: 由于公司的日志系统使用的是plumelog,最近生产环境老是报 jedis连接池不够,导致丢失日志,而且服务老是重启,怀疑跟日志系统有关,于是自己改造plumelog,使用go grpc...
MySQL同步数据Replication的实现步骤 生活杂谈

MySQL同步数据Replication的实现步骤

MySQL提供了Replication功能,可以实现将一个数据库的数据同步到多台其他数据库。前者通常称之为主库(master),后者则被称从库(slave)。MySQL复制过程采用异步方式,但延时非常...
C#编程中最容易犯的7种编写错误分享 生活杂谈

C#编程中最容易犯的7种编写错误分享

编程时犯错是必然的,这篇文章主要和大家来分享7个C#编程中最容易犯的7种编写错误,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下! 1、拼接字符串 在C#编程中,字符串类型的处理是比较...