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



相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1天前
|
Python
【Python操作基础】——列表操作
【Python操作基础】——列表操作
|
1天前
|
索引 Python
Python中的列表、元组和字典各具特色
Python中的列表、元组和字典各具特色:列表是可变的,元组不可变,字典亦可变;列表和元组有序,字典无序(但在Python 3.7+保持插入顺序);元素类型上,列表和元组元素任意,字典需键不可变;列表用方括号[],元组用圆括号(),字典用大括号{}表示。列表不适合作字典键,元组可以。选择数据结构应依据实际需求。
7 2
|
4天前
|
BI Python
深入浅出:讲解Python中的列表推导式
深入浅出:讲解Python中的列表推导式
|
5天前
|
监控 PHP Python
1688快速获取整店铺列表 采集接口php Python
在电子商务的浪潮中,1688平台作为中国领先的批发交易平台,为广大商家提供了一个展示和销售商品的广阔舞台;然而,要在众多店铺中脱颖而出,快速获取商品列表并进行有效营销是关键。
|
5天前
|
算法 Python
Python中不使用sort对列表排序的技术
Python中不使用sort对列表排序的技术
17 1
|
5天前
|
Python
【Python 基础】列表(list)和元组(tuple)有什么区别?
【5月更文挑战第6天】【Python 基础】列表(list)和元组(tuple)有什么区别?
|
5天前
|
算法 Python
从原始边列表到邻接矩阵:使用Python构建图的表示
从原始边列表到邻接矩阵:使用Python构建图的表示
9 0
|
5天前
|
机器学习/深度学习 存储 数据挖掘
Python中遍历并修改列表的综合指南
Python中遍历并修改列表的综合指南
15 2
|
6天前
|
机器学习/深度学习 自然语言处理 Python
python分词列表转化成词向量
python分词列表转化成词向量
12 1
|
6天前
|
算法 数据处理 Python
Python技术分享:如何将数据列表中的空值补0
Python技术分享:如何将数据列表中的空值补0
14 1