Python List与Tuple

Python拥有两种的有序数据类型:list、tuple。

list是一种有序的集合,可以随时添加和删除其中的元素。

tuple是有序元组,一旦初始化就不能修改。

静态不可变安全系数高,动态方便数据操作,但存在一定安全隐患,两者可结合使用,在定义不变的元组上增加可变的数列,提高数组的灵活性和安全性。

对比listtuple
定义0个元素时L=[]T=()
定义1个元素时L=[元素1]T=(元素1,)
定义多个元素时L=[元素1,元素2]T=(元素1,元素2)
定义之后列表元素可增、删、改、查,长度可变一经定义,不可修改元组元素个数,亦不能对元素进行增、删、改,只支持查看元素

以下为list常见函数:

序号函数作用
1len()获取表结构元素个数
2listname.append()追加元素到表中
3listname.insert(i,ele)在指定位置插入元素
4pop(i)删除指定位置元素,留空则为最后一位

List 表可以同时定义不同类型元素,其元素也可以为list表:

>>> L=['list1',123,True]
>>> s=['lisa','pop',L,'alice']
>>> print(s)
['lisa','pop',['list1',123,True],'alice']

利用两者不同特性,可以进行结合,以适用不同场景

>>> L=['A','B']
>>> T=('C','D')
>>> P1=[T,'Alisa']
>>> P2=(L,'Bob')
>>> print(P1,P2)
[('C', 'D'), 'Alisa'] (['A', 'B'], 'Bob')

P1属于List表,其元素可变,但其引入了Tuple,也就是说,其要么删除或替换整个元素T的值,无法对元素T进行更改;

>>> print(P1)
[('C', 'D'), 'Alisa']
>>> P1[0][0]=2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> P1[0]='A'
>>> print(P1)
['A', 'Alisa']

P2属于Tuple,无法直接对P2的元素进行操作,但能够对P2的‘L’(list表)内所包含元素进行操作;

>>> print(P2)
(['A', 'B'], 'Bob')
>>> P2[1]='Alisa'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> P2[0][0]='C'
>>> print(P2)
(['C', 'B'], 'Bob')

廖老师练习解答

# -*- coding: utf-8 -*-
L = [
    ['Apple', 'Google', 'Microsoft'],
    ['Java', 'Python', 'Ruby', 'PHP'],
    ['Adam', 'Bart', 'Lisa']
]
#输出Apple、Python、Lisa
print(L[0][0],L[1][1],L[2][2]);

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值