Python列表概述( 学习笔记 )(上)

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 列表是存储有序对象的一组容器

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



相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
8天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
22 14
|
10天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
27 10
|
27天前
|
数据处理 开发者 Python
Python中的列表推导式:简洁高效的数据处理
在编程世界中,效率和可读性是代码的两大支柱。Python语言以其独特的简洁性和强大的表达力,为开发者提供了众多优雅的解决方案,其中列表推导式便是一个闪耀的例子。本文将深入探讨列表推导式的使用场景、语法结构及其背后的执行逻辑,带你领略这一特性的魅力所在。
|
1月前
|
开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第41天】 在编程的世界中,效率与简洁是永恒的追求。本文将深入探讨Python编程语言中一个独特且强大的特性——列表推导式(List Comprehension)。我们将通过实际代码示例,展示如何利用这一工具简化代码、提升性能,并解决常见编程问题。无论你是初学者还是资深开发者,掌握列表推导式都将使你的Python之旅更加顺畅。
|
1月前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
28天前
|
JavaScript 前端开发 算法
python中的列表生成式和生成器
欢迎来到瑞雨溪的博客,这里是一位热爱JavaScript和Vue的大一学生的天地。通过自学前端技术2年半,现正向全栈开发迈进。如果你从我的文章中受益,欢迎关注,我将持续更新高质量内容,你的支持是我前进的动力!🎉🎉🎉
23 0
|
1月前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
20 0
|
1月前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
16 0
|
1月前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
19 0
|
1月前
|
C语言 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第24天】在Python编程的世界中,追求代码的简洁性和可读性是永恒的主题。列表推导式(List Comprehensions)作为Python语言的一个特色功能,提供了一种优雅且高效的方法来创建和处理列表。本文将深入探讨列表推导式的使用场景、语法结构以及如何通过它简化日常编程任务。