文章目录

  • 一.创建列表
    • 1.基于弱数据类型语言的定义
    • 2.通过全局函数list()定义
    • 3.创建空列表
  • 二.访问列表的值
    • 1.通过下标索引
    • 2.通过for循环遍历
    • 3.通过while循环遍历
  • 三.列表的分片
  • 四.列表方法
    • 1.append()列表后面添加元素
    • 2.insert()指定位置添加元素
    • 3.pop()删除元素
    • 4.count()返回的是某个元素在列表里面的个数
    • 5.extend() 合并列表
    • 6.index()返回的是元素在列表中的第一个位置
    • 7.remove()---------- 删除某个元素,如果有重复,删除的是第一次出现的元素,如果元素不存在会报错
    • 8.sort()进行排序(从小到大 int类型)可以对字母进行排序(ASCII值)类型不能混
    • 9.reverse()将列表进行翻转
    • 10.clear() 清除元素
    • 11.copy() 浅拷贝对象 不等价与 =
  • 五.列表的操作
    • 1.拼接列表
    • 2.列表相乘
    • 3.判断
  • 六.列表中元素的类型的多样性
  • 七.列表推导式
  • 八.列表常用方法总结

一.创建列表

数据类型list,list是python内置的一种高级数据类型。list是一种有序的集合,基于链表实现 在python中应用很广泛

1.基于弱数据类型语言的定义

names=['james', 'michael', 'emma', 'emily']
print('names的数据类型:', type(names))#type()函数是查看变量类型
print(names)

运行结果如下:

2.通过全局函数list()定义

ls2 = list([1, 2, 3, 4, 5])
print(ls2)

运行结果如下:

3.创建空列表

age=[]#直接创建空列表
print(age)
print(len(age))#len()函数计算长度
ls1 = list()#通过list()函数创建
print(ls1)

运行结果:

二.访问列表的值

1.通过下标索引

names = ['james', 'michael', 'emma', 'emily']
print(names[0])
print(names[-1])  #访问列表中的最后一个值
print(names[-2])#访问列表中的倒数第二个元素,反向索引
print(names[len(names)-2]) #效果如上

运行结果如下:

2.通过for循环遍历

names = ['james', 'michael', 'emma', 'emily']
for name in names:print(name)  for i in range(len(names)):print(names[i])

运行结果:

3.通过while循环遍历

names = ['james', 'michael', 'emma', 'emily']
index = 0    #通过while循环来列出所有元素
while index < len(names):print(names[index])index += 1

运行结果如下:

三.列表的分片

a=['egg', 'fish', 'cake', 'tomato', 'james', 'ava', 'michael', 'emma', 'emily']
print(a[1:3]) #按下标0开始,不包括最右边的3
print(a[1:]) #1以及之后的全部
print(a[:3]) #3之前的但不包括3
print(a[:]) #所有
print(a[::2])#[start:end:step]start和end为空的时候,默认是全选,step为空时默认是1,这个表示的是从索引为0开始,以步长为2来选择元素
print(a[1:3:2])#以索引为1开始,索引3结束,步长为2来选择元素
print(a[::-1])#当step为-1时,将列表进行了逆序排序
print(a[::-2])#当步长为正数时,是从左到右以该步长来获取列表中的元素,当步长为负数时,是从右边到左以该步长的绝对值来获取的元素
print(a[0, 1, 3]) #不可以通过离散的索引值来获取

运行结果:

四.列表方法

1.append()列表后面添加元素

food=['egg', 'fish', 'cake', 'tomato']
food.append('ice') #在list的末尾添加元素
print(food)

运行结果:

2.insert()指定位置添加元素

food=['egg', 'fish', 'cake', 'tomato']
food.insert(1, 'meat') #在1这个位置添加元素
print(food)

运行结果:

3.pop()删除元素

food=['egg', 'fish', 'cake', 'tomato']
food.pop() #删除list末尾的元素
print(food)
food.pop(0) #删除索引0的元素
print(food)
food[0]='egg' #修改索引0的元素为egg
print(food)

运行结果:

4.count()返回的是某个元素在列表里面的个数

list1 = [1, 3, 3, 4, 5]
print('count:', list1.count(3))#统计3在列表中出现的次数

运行结果:

5.extend() 合并列表

list1 = [1, 3, 3, 4, 5]
list2 = [6, 5, 8, 9]
list1.extend(list2) #在列表1后面添加列表2
print(list1)

运行结果:

6.index()返回的是元素在列表中的第一个位置

list2 = [1, 2, 4, 5, 7, 4]
print('index:', list2.index(4))  # 从列表中找出第一个数值为4的索引位置,不管第二个

运行结果:

7.remove()---------- 删除某个元素,如果有重复,删除的是第一次出现的元素,如果元素不存在会报错

list2 = [1, 2, 4, 5, 7, 4]
list2.remove(4)#从列表中找出第一个数值为4的值然后删除,不管第二个
print('remove:', list2)

运行结果:

8.sort()进行排序(从小到大 int类型)可以对字母进行排序(ASCII值)类型不能混

list2 = [1, 2, 4, 5, 7, 4]
list2.sort()#对原列表进行排序
print('sort;', list2)

运行结果:

9.reverse()将列表进行翻转

list2 = [1, 2, 4, 5, 7, 4]
list2.reverse()
print('reverse;', list2)

运行结果:

10.clear() 清除元素

list2 = [1, 2, 4, 5, 7, 4]
list2.clear()
print(list2)

运行结果:

11.copy() 浅拷贝对象 不等价与 =

list1 = [8, 9, 0]
list2 = list1.copy()
print(list2)

运行结果:

五.列表的操作

1.拼接列表

print('列表相加:', [1, 2, 3]+ [4, 5, 6]) #列表的操作符 + 相当于拼接列表
print('列表相加:', [1, 2, 3]+['a', 'b'])

运行结果:

2.列表相乘

print('列表相乘:', ['a', 'b']*3) #列表相乘

运行结果:

3.判断

print('判断列表元素是否存在于列表中:', 'a' in ['a', 'b'])
print('判断列表元素是否存在于列表中:', 'a' not in['a', 'b'])

运行结果:

六.列表中元素的类型的多样性

a_list=['lemon', 100, ['a', 'b', 'c', 'd'], True]#同一个list的类型可以是字符串,整型,布尔型(true和false),以及嵌套的list
print(a_list)
print(a_list[0])
print(a_list[2])
print(a_list[3])

运行结果:

b_list=['a', 'b', 'c', 'd']
a_list=['lemon', 100, b_list, True]
print(a_list)
item_b=a_list[2][1]#获取嵌套中列表中的单个元素可以用二维的索引获取,类似于二维数组。[2]表示获取a_list的第三个元素,即b_list,#[1]表示获取b_list的第二个元素,即’b‘
print(item_b)

运行结果:

七.列表推导式

new_list=[x for x in iterable]其中的iterable表示可迭代的对象,包括字符串(str)、列表(list)、元组(tuple)、字典(dict)、集合(set)生成器(generator)

str_list=[x.lower()for x in 'Lemon']#lower()将大写转为小写
print(str_list)

运行结果:

list_list=[x**2 for x in [1, 2, 3, 4]]
print(list_list)

运行结果:

tuple_list=[x+2 for x in (1, 2, 3, 4)]
print(tuple_list)

运行结果:

ge_list=[x for x in range(8)]
print(ge_list)

运行结果:

八.列表常用方法总结

1.append()---------列表后面添加元素
2.insert()---------向指定的下标处添加元素
3.pop()---------删除元素
4.count()------返回的是某个元素在列表里面的个数
5.extend() -------合并列表
6.index()--------返回的是元素在列表中的第一个位置
7.remove()---------- 删除某个元素,如果有重复,删除的是第一次出现的元素,如果元素不存在会报错
8.sort()-------进行排序(从小到大 int类型)可以对字母进行排序(ASCII值)类型不能混
9.reverse()-------将列表进行翻转
10.clear() -------清除元素
11.copy()----- 浅拷贝对象 不等价与 =

python之列表详解相关推荐

  1. Python 列表详解

    Python 列表详解 什么是列表 列表的定义 列表的操作 访问列表元素 列表的切片 列表的相关运算 列表常用方法 更多内容,可以微信搜索[公][众][号][ 郑大钱呀],关注我们,一起学技术! 什么 ...

  2. windows上安装Anaconda和python的教程详解

    一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因 ...

  3. python变量类型-Python 变量类型详解

    变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据类型,这些变量可以存储整 ...

  4. python安装教程windows-windows上安装Anaconda和python的教程详解

    一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因 ...

  5. 代码检查规则:Python语言案例详解

    在之前的文章中代码检查规则:Java语言案例详解学习了Java的检查规则.我们今天将学习<代码检查规则:Python语言案例详解>,内容主要分为两个部分:Python的代码检查规则和Pyt ...

  6. Python 装饰器详解(下)

    Python 装饰器详解(下) 转自:https://blog.csdn.net/qq_27825451/article/details/84627016,博主仅对其中 demo 实现中不适合pyth ...

  7. Python 装饰器详解(上)

    Python 装饰器详解(上) 转自:https://blog.csdn.net/qq_27825451/article/details/84396970,博主仅对其中 demo 实现中不适合pyth ...

  8. python数值转换机_用于ETL的Python数据转换工具详解

    ETL的考虑 做 数据仓库系统,ETL是关键的一环.说大了,ETL是数据整合解决方案,说小了,就是倒数据的工具.回忆一下工作这么些年来,处理数据迁移.转换的工作倒 还真的不少.但是那些工作基本上是一次 ...

  9. 7、【转载】python yield generator 详解

    7.[转载]python yield generator 详解 目录 generator基础 generator应用 generator基础应用 generator高级应用 注意事项: 正文 本文将由 ...

  10. eclipse配置python开发环境_Eclipse中配置python开发环境详解

    Eclipse中配置python开发环境详解 1.下载python安装包.python-2.6.6.msi.并安装. 默认python会安装在C:\Python26下,查看环境变量,如果没有在path ...

最新文章

  1. 【ACM】UVa 1339
  2. C语言实现链表(附完整源码)
  3. ts获取服务器数据_基于Nginx的媒体服务器技术-线上公开课
  4. C/C++语言之通过定义指针函数方式来实现在一个cpp文件里面获取另外一个cpp文件函数的返回值
  5. 对可重入锁和不可重入锁的理解
  6. oracle执行策略是什么意思,郁闷的问题:oracle pl/sql 和 pro c中的执行策略
  7. caffe dataset
  8. springmvc 控制器 读取properties文件
  9. 黑苹果Big Sur下驱动高通模块Atheros DHXA-195(AR9285无线网卡和AR3011 蓝牙3.0)
  10. 油田生产数据选取进展22.2.11——2.17——2.26
  11. JS 微信公众号如何跳转到另一个微信公众号的链接
  12. python selenium+Firefox 模拟浏览器操作
  13. 物联网的云计算、雾计算、边缘计算和MIST计算的基本概念
  14. 一键获取LOL英雄联盟所有英雄技能图片
  15. 巴斯卡三角形(Pascal)
  16. 企业IT、OT与CT的融合,加快数字化制造转型
  17. 【计算机视觉40例】案例38:驾驶员疲劳监测
  18. 基于SSM的便利店超市管理系统【数据库设计、源码、开题报告】
  19. 解除计算机屏保密码设置密码,屏保密码怎么取消
  20. 通信原理学习笔记1:模拟与数字通信系统、通信系统性能指标

热门文章

  1. 关于ShadowMap中Shadow acne现象的解释
  2. 关于Python绘制正态分布图(概率密度分布)以及遇到的问题(label无法显示)
  3. 英文地址翻译原则:先小后大。如**号**路**区,
  4. 我对kvm,qemu,vmware,xen,virtualbox等虚拟化产品的简单理解
  5. 状态机实现的LED交通灯2
  6. pid纠偏算法C语言,基于MATLAB环境下智能PID纠偏控制算法的仿真分析.pdf
  7. Linux系统中使用Xbox360手柄
  8. 线段树的简单实现(引入lazy_tag)
  9. git lfs linux,GIT LFS 使用笔记
  10. Unity发布WebGL后跳转页面的问题