Python列表概述( 学习笔记 )

1、概述

列表是存储有序对象的一组容器

l=[x1,x2,x3,x4.......xn]
  1. 是list类型
  2. l 和 l[0] 的地址不同
l=['T3','大数据分析',90]
print(id(l))
print(id(l[0]))

结果:

2544747420352  #l 和 l[0] 的地址不同
2544747162416
print(id(l[0]))
print(id(l[1]))
print(id(l[2]))

结果:

2544747162416
2544746891952
2544671675536
import sys
print(sys.getsizeof(l))       # 元素大小
print(sys.getrefcount(l))     # 被引用的次数

print(sys.getsizeof(l[0]))
print(sys.getrefcount(l[0]))

print(sys.getsizeof(l[1]))
print(sys.getrefcount(l[1]))

print(sys.getsizeof(l[2]))
print(sys.getrefcount(l[2]))

结果:

120
2
51
2
84
2
28
31
s1='经济与管理大数据分析'
l1=list(s1)
l1

结果:如果是str使用list,会把一个个字符拆开

['经', '济', '与', '管', '理', '大', '数', '据', '分', '析']

如果是元组类型(tuple),则会按照逗号分隔,合成为列表

s2=('经济','管理','大数据','分析')
type(s2)   # 类型是tuple——元组类型
l2=list(s2)
l2   # 结果:['经济', '管理', '大数据', '分析']

(1)列表嵌套

s1='经济与管理大数据分析'
l1=list(s1)
s2=('经济','管理','大数据','分析')
l2=list(s2)
l3=[l1,l2,'hahaha']
l3

结果:

[['经', '济', '与', '管', '理', '大', '数', '据', '分', '析'],
 ['经济', '管理', '大数据', '分析'],
 'hahaha']

l3[0] 和 l3[1] 都是列表,l3[2] 是字符串

(2)切片与索引

切片: start:stop:step
在这里插入图片描述
索引:

l4=list(l3[2])

2、常用的方法

追加,删除,更新,排序

(1)追加( append,extend,insert )

  1. 无论使用append,extend,insert的哪个做添加,内存地址都不会发生变化
l5.append('课程')
l5.append('课程')
l5.append(['课','程'])

结果:

['经', '济', '与', '管', '理', '大', '数', '据', '分', '析', '课程', '课程', ['课', '程']]

extend和append的区别:
1、append就是添加元素
2、extend就是扩展,将要添加对象的所有元素都加到列表后面

l6=['张三',9876.54]
l6.append('女')
l6.append(['总经理','506'])
l6.append(('福徽省','已婚'))
#  ['张三', 9876.54, '女', ['总经理', '506'], ('福徽省', '已婚')]
l6.extend(['总经理','506'])
l6.extend(('福徽省','已婚'))

使用extend之后的l6:

['张三',
 9876.54,
 '女',
 ['总经理', '506'],
 ('福徽省', '已婚'),
 '总经理',
 '506',
 '福徽省',
 '已婚',
 '总经理',
 '506',
 '福徽省',
 '已婚']

(2)删除( remove,pop )

关于remove,如果列表中有两个 ‘女’ ,则使用remove只能删除第一个’ 女 ’ 。remove是逐个删除。

l6.remove('女')

pop:根据特定的索引号进行删除

l6.pop(-1) #将最后一个进行删除

(3)排序( sort,reverse )

l6.sort() #['1990-9-1', '1990-9-1', '506', '已婚', '张三', '总经理', '福徽省']
l6.sort(reverse=True) #['福徽省', '总经理', '张三', '已婚', '506', '1990-9-1', '1990-9-1']

在这里插入图片描述
reverse是根据索引的位置进行倒转,而非根据数值的位置进行倒转

(4)更新

更新是根据特定位置进行更新
在这里插入图片描述
在这里插入图片描述

3、列表运算

算术运算,比较运算,成员运算,身份运算

(1)算术运算

在这里插入图片描述
None是特殊值,并且没有长度
在这里插入图片描述

(2)比较运算

在这里插入图片描述
当相比较的列表的第一个元素相等的时候,就会比较第二个元素
在这里插入图片描述

(3)成员运算

在这里插入图片描述
判断l6是否在l7里面,则要判断l7中是否有和l6一样的列表,而非只单单比较元素

列表优点:灵活好用,可以索引,切片,更改,附加,插入,删除,排序等
列表缺点:相比tuple元组,创建和遍历的速度较慢,占用内存,查找和插入的时间也较慢

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

温欣2030

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值