Python基础刻意练习——Day3&4:列表与元组

一、列表(list)

1.基本形式

list是一种有序的集合,可以随时添加和删除其中的元素
创建一个列表,只要把逗号分隔的不同的数据项(数学或字符串或其他形式的数据项皆可)使用方括号括起来即可

list1=[1,2,3,4,5]
list2=['Mike','Jack','Mary','Laura']
list3=[list1,list2]
print(list3)
#[[1, 2, 3, 4, 5], ['Mike', 'Jack', 'Mary', 'Laura']]

2.长度和索引

  • 用len()获取列表的长度
    注意索引是从0开始的,所以列表中的最后一个元素的索引是len(list)-1
  • 支持负索引
list1=[1,2,3,4,5]
lens=len(list1)
print(list1[lens-1])
#5

print(list1[-1])
#5

3.增删元素

  • 可用append()方法来添加元素到列表末尾
  • 或用insert()方法把元素插入到指定的位置
list1=[1,2,3,4,5]
list1.append(99)
print(list1)
#[1, 2, 3, 4, 5, 99]
list1.insert(3,66)
print(list1)
#[1, 2, 3, 66, 4, 5, 99]
  • 可用pop()方法删除list末尾的元素(实际上是出栈操作)
  • 用pop(i)方法删除list中索引为i的元素
  • 也可用del list[i]删除list中索引为i的元素
list1=[1,2,3,4,5]
num=list1.pop()
print(list1,num)
#[1, 2, 3, 4] 5
num=list1.pop(0)
print(list1,num)
#[2, 3, 4] 1
del list1[2]
print(list1)
#[2, 3]
  • 若知道要删除的元素的值,也可直接用remove()删除
    注意,这样只会把第一个满足的元素删除,对后面重复的元素无影响
list3=[1,1,2,2,3,3]
list3.remove(2)
print(list3)
#[1, 1, 2, 3, 3]

4.获取对应元素的索引

  • 用index()方法获取对应元素的索引
    只会返回第一个满足的元素的索引
list3=[1,1,2,2,3,3]
print(list3.index(2))
#2

5.截取与拼接

  • list[i:]表示截取list中从索引为i开始的元素
  • list[:j]表示截取list中从头开始到到索引为j-1的元素
    (不包含list[j])
list3=[1,1,2,2,3,3]
print(list3[2:])
#[2, 2, 3, 3]
print(list3[:3])
#[1, 1, 2]
print(list3[2:3])
#[2]
  • 利用+或*可实现list的拼接
list4=[1,2,3]
list5=[4,5,6]
print(list4+list5)
#[1, 2, 3, 4, 5, 6]
print(list4*2)
#[1, 2, 3, 1, 2, 3]

6.其他函数和方法

函数名具体用法例子(mylist=[2,5,8,1])
max()返回列表元素最大值max(mylist) 返回8
min()返回列表元素最小值min(mylist) 返回1
方法名具体用法例子(mylist=[2,5,8,1,2])
count()统计某个元素在列表中出现的次数mylist.count(2) 返回2
extend()在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)mylist.extend([1,2]) mylist=[2,5,8,1,2,1,2]
reverse()反向列表中元素list.reverse() mylist=[2,1,8,5,2]
sort()对原列表进行排序mylist.sort() mylist=[1,2,2,5,8]
clear()清空列表mylist.clear() mylist=[]

二、元组 (tuple)

1.基本形式

元组也是一组有序集合

元组与列表十分相似,但也有很明显的区别:

  1. 元组是静态的,一旦初始化就不能修改
  2. 元组使用小括号,列表使用方括号
  3. 元组初始化时已经分配大小,而列表需要指针来指向对应的元素(内存利用效率会变低)

p.s 元组中只包含一个元素时,也需要在元素后面添加逗号,否则括号会被当作运算符使用

tuple1=(1,2,3)
print(tuple1)
#(1, 2, 3)
tuple2=(1)
print(tuple2)
#1				不是元组
tuple2=(1,)
print(tuple2)
#(1,)

2.元组的删改

元组中的元素不允许进行修改,但可对整个元组进行操作

  • 利用+或*可实现list的拼接
tuple1=(1,2,3)
tuple2=(1,)
print(tuple1+tuple2)
#(1, 2, 3, 1)
print(tuple2*3)
#(1, 1, 1)
  • 利用del tuple 直接删除整个元组

3.其他操作

只要不涉及对元组中元素的顺序或值进行改变,其他list可用的函数和方法都可使用

三、列表和元组的互相转换

  • 列表通过tuple(list)转化为元组
  • 元组通过list(tuple)转化为列表

附:Python基础系列

Day1:变量、运算符与数据类型
Day2:条件与循环
Day3&4:列表与元组——>本文
Day5:字符串与序列
Day6&7:函数与Lambda表达式
Day8:字典与集合
Day9&10:文件与文件系统
Day11:异常处理
Day12:else 与 with 语句
Day13&14:类与对象
Day15&16:魔法方法
Day17:模块

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值