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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*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 
相关文章
|
2天前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
17天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
16 1
|
18天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
19天前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
13 1
|
15天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
14 0
|
16天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
13 0
|
16天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
15 0
|
16天前
|
C语言 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第24天】在Python编程的世界中,追求代码的简洁性和可读性是永恒的主题。列表推导式(List Comprehensions)作为Python语言的一个特色功能,提供了一种优雅且高效的方法来创建和处理列表。本文将深入探讨列表推导式的使用场景、语法结构以及如何通过它简化日常编程任务。
|
17天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy 教程之 SciPy 模块列表 13 - 单位类型。常量模块包含多种单位:公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例:`constants.zero_Celsius` 返回 273.15 开尔文,`constants.degree_Fahrenheit` 返回 0.5555555555555556。
12 0
|
18天前
|
Python
SciPy 教程 之 SciPy 模块列表 11
SciPy教程之SciPy模块列表11:单位类型。常量模块包含公制单位、质量单位、角度换算、时间单位、长度单位、压强单位、体积单位、速度单位、温度单位、能量单位、功率单位、力学单位等。体积单位示例展示了不同体积单位的换算,如升、加仑、流体盎司、桶等。
14 0