【Python学习】 第三章 列表、元组和字符串

Day2  学习python从入门到入土

列表list:一个“打了激素”的数组

列表可以同时存放不同类型(整型、字符串、浮点型...)的变量,用中括号将数据包裹起来,数据之间用逗号隔开。

1、对列表本身进行增、删、改、查

① 增

>>>[1,2,3,4,5]

>>>[520,"小甲鱼",3.14,[1,2,3]]

② 删
从列表中删除元素,可以有三种方法实现:remove()、pop() 和 del

remove():需要指定一个待删除的元素,使用remove()删除元素,并不知道这个元素在列表的具体位置,但如果指定的元素不存在与列表中,程序就会报错;

pop():参数是一个索引值,如果不带参数默认是弹出列表的最后一个元素;

del:del是一个python语句,不仅可以用来删除列表的某个(些)元素,还可以直接删除整个变量;

③ 改

append():往列表末尾添加数据,只支持一个元素;

extend():往列表末尾添加数据,可同时添加多个数据,用一个列表来扩充另一个列表,它的输入参数是另一个列表;

insert(a,b):往列表任意位置插入元素,第一个参数a指定待插入的位置,第二个参数b是待插入的元素值,a为负数时,表示与列表末尾的相对距离。

此外,在python列表中,第一个位置的索引值是0,第二个是1......

另,append()、extend()、insert() 是属于列表对象的三种方法,使用时,在实际列表对象后用"·"

④ 查

通过索引值可以直接获取列表中的某个元素,当索引值为负数时,表示从列表的末尾反向索引

random的choice方法可以从一个非空序列(如列表)中随机获取一个元素

列表中还可以包含另外的列表,如果想获取内部子列表的某个元素,应该使用两次索引

2、列表切片

列表名 [start:stop:step]

用一个冒号隔开两个索引值,start是开始位置;stop是结束位置,结束位置的元素是不包含在内的;step是步长,默认值为1,若将步长修改为-1,相当于将整个列表翻转过来。

① 如果省略开头位置,python会从0这个位置开始;eg.list1 = list1[:2]

② 如果要从指定索引值到列表末尾的所有元素,把结尾位置也省去即可;eg.list1 = list1[2:]

③ 如果只有一个冒号,python将返回整个列表的拷贝;eg.list1 = list1[:]

 

元组tuple:带上了“枷锁”的列表

① 元组和列表最大的区别是:元组只可读,不可写。元组只可以被访问,不能被修改,也就意味着元组中的元素不可插入或删除。

② 创建列表时用的是中括号,而创建元组大部分时候使用的是小括号,元组的标识符是逗号,小括号只是起到补充作用。

③ 如果元组中只包含一个元素,可以在元素后面添加一个逗号(,)来实现。

④ 更新和删除元组:可以利用切片和拼接实现更新元组的目的,它并不是修改元组自身,而是创建了新的元组

e.g 尝试直接修改元组

eggs = ("鸡蛋","鸭蛋","天鹅蛋","企鹅蛋","鹅蛋")
eggs[1] = "小甲鱼"
#元组中的元素是不允许被修改的,如果修改会报错
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-91-9d129e98d3af> in <module>()
      1 eggs = ("鸡蛋","鸭蛋","天鹅蛋","企鹅蛋","鹅蛋")
----> 2 eggs[1] = "小甲鱼"

TypeError: 'tuple' object does not support item assignment

e.g 切片和拼接实现更新元组

eggs = ("鸡蛋","鸭蛋","天鹅蛋","企鹅蛋","鹅蛋")
eggs = (eggs[0],"小甲鱼") + eggs[2:]
print(eggs)
('鸡蛋', '小甲鱼', '天鹅蛋', '企鹅蛋', '鹅蛋')

 

字符串

字符串与元组一样,一旦确定下来就不能再对它进行修改,如果非要这么做,仍然可以利用切片和拼接来实现

字符串中的格式化操作符%

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值