python学习笔记

本文详细介绍了Python中的list和tuple两种数据结构。针对list,讲解了如何插入、删除和替换元素。对于tuple,重点阐述了其不可变特性,以及在特定情况下看似可变的现象。内容包括单元素tuple的创建注意事项以及通过改变tuple内可变对象(如list)来改变tuple的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

目录

一、python之list

1. list元素插入

2. list元素删除

3. list元素替换

二、python之tuple

1. 不可变的touple

2. Python之“可变”的tuple



一、python之list

list是Python内置的一种数据类型是列表。list是一种有序的集合,可以随时添加和删除其中的元素。

现有一个表示字母的列表list L=['a','b','c']:

1. list元素插入

1.1 向list L中添加一个新元素‘d’:L.append('d')

1.2 向list L中插入添加一个新元素‘d’,使之成为第二个元素:L.insert(1,'d')

2. list元素删除

2.1 删除list L的最后一个元素:L.pop()       

注意:pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打印出 'c'。

2.2 指定删除list L的第2个元素:L.pop(1)

3. list元素替换

3.1 将list L的第一个元素替换为‘Paul’:L[0]=‘’Paul

二、python之tuple

1. 不可变的touple

tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。还是用一组包含字母的列表,用tuple表示如下:t=('a','b','c'),只能从tuple中读取数据,touple(0),touple(1)...

包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示:

>>> t = ()
>>> print t
()

特别需要注意的是,当创建单元素touble时,需要在元素值后加个逗号,以表示这是一个touble。如果不加逗号,会出现如下情形:

>>>t=(1)

>>>print  t

1

因为()既可以表示tuple,又可以作为括号表示运算时的优先级,当单元素touple没有在元素后加逗号时, (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。

正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:

>>>t=(1,)

>>>print  t

(1,)

2. Python之“可变”的tuple

前面说到了touple一旦创建就不可更改,那现在怎么又可以更改了呢?别急,给大家举个例子就明白了,下面就是一个“可变”的touple:

t=('a',''b,['A','B'])

可以看出来这个t有3个元素,分别是元素a,元素b和一个list,list值为['A','B']。这个list我们用L表示,由于L是touple的第三个元素,所以:

>>>L=t(2)

接下来,我们给list的两个元素值改一改:

>>>L[0]='X'

>>>L[1]='Y'

再查看一下touple的值:

>>>print t

>>>('a','b',['X','Y'])

确实变了,为什么会出现这种情况,首先我们回过头来分析一下touple元素:touple一共包含3个元素,第一个和第二个都是定值,但是第三个元素是一个list,通过前面的了解,我们知道list的值是可变的,当list的值变了之后,touple值自然也变啦。

 

当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为:

所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值