Python基础Lists和tuple实例详解

08-26 25阅读 0评论

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

以上就是Python之LisTS和tuple实例详解的详细内容,更多关于python Lists tuple的资料请关注云初冀北其它相关文章!

免责声明
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:Goliszhou@gmail.com
$

发表评论

表情:
评论列表 (暂无评论,25人围观)

还没有评论,来说两句吧...