开发者社区> 渴望成为寂寞胜者> 正文

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

816f69b749964627b4c6068683a3481d.png

索引:

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']

0ebb127ab06549e0b8fd827fa67287cc.png

reverse是根据索引的位置进行倒转,而非根据数值的位置进行倒转


(4)更新


更新是根据特定位置进行更新

f2b72665fe4a47feb0134bd153599005.png

bf73750d6cdc4dc699288bb93bef14e7.png



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
18586 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
27734 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
12973 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
21936 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
15295 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
19982 0
177
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载