list是一种有序的集合,可以随时添加和删除其中的元素。

1) 使用 [ ] 直接创建列表

listname = ['a', b , c ]

其中listname是列表名, a, b, c是列表元素,列表元素可以包括整形, 浮点, 字符。。。

列表也可以是空列表

2) 使用 list() 函数创建列表

除了使用[ ]创建列表外,Python 还提供了一个内置的函数 list(),使用它可以将其它数据类型转换为列表类型。例如:

#将元组转换成列表
tuple1 = ('Python', 'Java', 'C++', 'JavaScript')
list2 = list(tuple1)
print(list2)
#将字典转换成列表
dict1 = {'a':100, 'b':42, 'c':9}
list3 = list(dict1)
print(list3)
#将区间转换成列表
range1 = range(1, 6)
list4 = list(range1)
print(list4)

运行结果是:['Python', 'Java', 'C++', 'JavaScript'], ['a', 'b', 'c'], [1, 2, 3, 4, 5]

访问列表元素

url = list("http://c.biancheng.net/shell/")#使用索引访问列表中的某个元素
print(url[3])  #使用正数索引
print(url[-4])  #使用负数索引#使用切片访问列表中的一组元素
print(url[9: 18])  #使用正数切片
print(url[9: 18: 3])  #指定步长
print(url[-6: -1])  #使用负数切片

运行结果:

p      # 列表中第一个元素是从0开始的
e       # 倒数
['b', 'i', 'a', 'n', 'c', 'h', 'e', 'n', 'g']  #截取片段
['b', 'n', 'e']   #截取片段当中的几个
['s', 'h', 'e', 'l', 'l']   #倒数截取

Python删除列表

intlist = [1, 45, 8, 34]
print(intlist)
del intlist
print(intlist)

运行结果:

[1, 45, 8, 34]
Traceback (most recent call last):File "C:\Users\mozhiyan\Desktop\demo.py", line 4, in <module>print(intlist)
NameError: name 'intlist' is not defined

list列表添加元素(3种)

append() 方法用于在列表的末尾追加元素

l = ['Python', 'C++', 'Java']
#追加元素
l.append('PHP')
print(l)
#追加元组,整个元组被当成一个元素
t = ('JavaScript', 'C#', 'Go')
l.append(t)
print(l)
#追加列表,整个列表也被当成一个元素
l.append(['Ruby', 'SQL'])
print(l)

运行结果:

['Python', 'C++', 'Java', 'PHP']
['Python', 'C++', 'Java', 'PHP', ('JavaScript', 'C#', 'Go')]
['Python', 'C++', 'Java', 'PHP', ('JavaScript', 'C#', 'Go'), ['Ruby', 'SQL']]

extend() 和 append() 的不同之处在于:extend() 不会把列表或者元祖视为一个整体,而是把它们包含的元素逐个添加到列表中。

l = ['Python', 'C++', 'Java']
#追加元素
l.extend('C')
print(l)
#追加元组,元祖被拆分成多个元素
t = ('JavaScript', 'C#', 'Go')
l.extend(t)
print(l)
#追加列表,列表也被拆分成多个元素
l.extend(['Ruby', 'SQL'])
print(l)

运行结果:

['Python', 'C++', 'Java', 'C']
['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go']
['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go', 'Ruby', 'SQL']

append() 和 extend() 方法只能在列表末尾插入元素,如果希望在列表中间某个位置插入元素,那么可以使用 insert() 方法。

l = ['Python', 'C++', 'Java']
#插入元素
l.insert(1, 'C')
print(l)#插入元组,整个元祖被当成一个元素
t = ('C#', 'Go')
l.insert(2, t)
print(l)#插入列表,整个列表被当成一个元素
l.insert(3, ['Ruby', 'SQL'])
print(l)#插入字符串,整个字符串被当成一个元素
l.insert(0, "http://c.biancheng.net")
print(l)

运行结果:

['Python', 'C', 'C++', 'Java']

['Python', 'C', ('C#', 'Go'), 'C++', 'Java']

['Python', 'C', ('C#', 'Go'), ['Ruby', 'SQL'], 'C++', 'Java']

['http://c.biancheng.net', 'Python', 'C', ('C#', 'Go'), ['Ruby', 'SQL'], 'C++', 'Java']

list列表删除元素(4种)

del 是 Python 中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素。

lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]
#使用正数索引
del lang[2]
print(lang)
#使用负数索引
del lang[-2]
print(lang)

运行结果:

['Python', 'C++', 'PHP', 'Ruby', 'MATLAB']
['Python', 'C++', 'PHP', 'MATLAB']

Python pop() 方法用来删除列表中指定索引处的元素

nums = [40, 36, 89, 2, 36, 100, 7]
nums.pop(3)
print(nums)
nums.pop()
print(nums)

运行结果:

[40, 36, 89, 36, 100, 7]
[40, 36, 89, 36, 100]

remove() 方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发 ValueError 错误。

nums = [40, 36, 89, 2, 36, 100, 7]
#第一次删除36
nums.remove(36)
print(nums)
#第二次删除36
nums.remove(36)
print(nums)
#删除78
nums.remove(78)
print(nums)

运行结果:

[40, 89, 2, 36, 100, 7]
[40, 89, 2, 100, 7]
Traceback (most recent call last):File "C:\Users\mozhiyan\Desktop\demo.py", line 9, in <module>nums.remove(78)
ValueError: list.remove(x): x not in list

Python clear() 用来删除列表的所有元素,也即清空列表,请看下面的代码

url = list("http://c.biancheng.net/python/")
url.clear()
print(url)

运行结果:

[]

list列表修改元素

修改单个元素非常简单,直接对元素赋值即可。请看下面的例子:

nums = [40, 36, 89, 2, 36, 100, 7]
nums[2] = -26  #使用正数索引
nums[-3] = -66.2  #使用负数索引
print(nums

运行结果:

[40, 36, -26, 2, -66.2, 100, 7]

Python 支持通过切片语法给一组元素赋值。在进行这种操作时,如果不指定步长(step 参数),Python 就不要求新赋值的元素个数与原来的元素个数相同;这意味,该操作既可以为列表添加元素,也可以为列表删除元素。

nums = [40, 36, 89, 2, 36, 100, 7]
#修改第 1~4 个元素的值(不包括第4个元素)
nums[1: 4] = [45.25, -77, -52.5]
print(nums)

运行结果:

[40, 45.25, -77, -52.5, 36, 100, 7]

list列表查找元素(2种)

index() 方法用来查找某个元素在列表中出现的位置(也就是索引),如果该元素不存在,则会导致 ValueError 错误,所以在查找之前最好使用 count() 方法判断一下。

nums = [40, 36, 89, 2, 36, 100, 7, -20.5, -999]
#检索列表中的所有元素
print( nums.index(2) )
#检索3~7之间的元素
print( nums.index(100, 3, 7) )
#检索4之后的元素
print( nums.index(7, 4) )
#检索一个不存在的元素
print( nums.index(55) )

运行结果:

3
5
6
Traceback (most recent call last):File "C:\Users\mozhiyan\Desktop\demo.py", line 9, in <module>print( nums.index(55) )
ValueError: 55 is not in list

count() 方法用来统计某个元素在列表中出现的次数,基本语法格式为:

nums = [40, 36, 89, 2, 36, 100, 7, -20.5, 36]
#统计元素出现的次数
print("36出现了%d次" % nums.count(36))
#判断一个元素是否存在
if nums.count(100):print("列表中存在100这个元素")
else:print("列表中不存在100这个元素"

运行结果:

36出现了3次
列表中存在100这个元素

具体理解请查看:http://c.biancheng.net/python/

Python 当中的list相关推荐

  1. python编译器怎么运行不在路径中的py文件_对python当中不在本路径的py文件的引用详解...

    众所周知,如果py文件不在当前路径,那么就不能import,因此,本文介绍如下两种有效的方法: 方法1: 修改环境变量,在~/.bashrc里面进行修改,然后source ~/.bashrc 方法2: ...

  2. python提供了两种基本的数值类型_python数据分析(一) python当中的数据类型--数字和常用函数...

    python当中内置了多种数据类型,了解python内置的基本数据类型,有助于进行进行数据处理.第一篇我们将介绍python当中的数字. 我们将介绍每一种数字类型,他们适用的操作符,以及用于处理的内建 ...

  3. 超详细,Python当中的pip常用命令大全

    相信对于大多数熟悉Python的人来说,一定都听说并且使用过pip这个工具,但是对它的了解可能还不一定是非常的透彻,今天小编就来为大家介绍10个使用pip的小技巧,相信对大家以后管理和使用Python ...

  4. Python当中reverse()函数

    Hello大家好,今天我想和大家分享一下Python当中的reverse()函数 reverse()函数顾名思义就是反转的意思,但是我们要注意反转的内容只能是python当中的列表!千万不要忘记了.例 ...

  5. 关于在Python当中汉字日期的转换

    前几天在做项目的时候遇到了一个关于日期当中汉字转换的问题.平时系统获取的时间都是阿拉伯数字,比如在代码中输入下面的语句: print (datetime.datetime.now().year) 得到 ...

  6. 超详细!Python当中的pip常用命令大全!

    点击上方"菜鸟学Python",选择"星标"公众号 超级无敌干货,第一时间送达!!! 大家好,我是菜鸟哥. 相信对于大多数熟悉Python的人来说,一定都听说并 ...

  7. python当中的metaclass使用

    python当中的metaclass 简单介绍 python中对象也是类,类作为一种特别的对象存在,特别之处就在于可以作为一个模板来生成对象(所有的类都是),暂且把python中的类称为类对象,类对象 ...

  8. Python当中大小写字母与数字的转换 chr()函数,ord()函数,以及ascii_lowercase和ascii_uppercase

    Hello大家好,今天我想和大家分享一下在Python当中进行大小写字母与数字的转换: 如果大家想将数字转换成ascii码的话,就使用chr()函数就行,反之的话可以使用ord函数,例如: a = 9 ...

  9. 如果你是第一次接触Python当中的面向对象,请点击进来。

    2018年7月29日15:49:49 今天有时间写一篇关于Python面向对象入门的文章,其实面向对象是不属于某一门编程语言的,而是一种编程思想,如果你是第一次接触面向对象,你需要弄懂下面几个问题: ...

  10. python当中的生成器

    最近身边的朋友都在问我迭代器是什么回事,经常跟大家一起讨论python的迭代器,一点点的我觉着自己有了更深一层的理解.我写下这篇文章,希望能对懵懵懂懂的好伙伴有些帮助~ 我也不是什么能人,难免说错一些 ...

最新文章

  1. 在AI Studio创建课程 : 2021 ANN课程
  2. dma访问主存时_STM32F103单片机(五)——DMA
  3. 部署在Netweaver上的Fiori应用的WebContent文件夹
  4. linux命令补遗 - 4
  5. 图的遍历(C语言,邻接表存储的图 - DFS,邻接矩阵存储的图 - BFS)
  6. ExtJs2.0学习系列(1)--Ext.MessageBox
  7. 型人格 disc测试_什么是孤独型人格,如何测试筛查孤独型人格?
  8. Metasploit Framework(6)客户端渗透(上)
  9. Kconfig使用详解
  10. 张益唐朗道-西格尔零点猜想报告:“部分地解决黎曼假设应该是对的”
  11. caj 服务器正在运行中,紧急求助:caj阅读器打不开
  12. 闭环系统零、极点位置对时间响应性能指标的影响
  13. Python-Pillow给图片加文字
  14. java中base64编码加密和android中base64编码加密不一样?base64编码解析错误?
  15. 计算机基础知识键盘知识,计算机基础知识:键盘的布局
  16. L328 What Is Millennial Burnout?
  17. lumia1520 越狱_尝试诺基亚Lumia 1020-内置电话的相机
  18. Hanselminutes播客55-MonoRail作为替代ASP.NET
  19. ajax加载远程数据
  20. 开发库存管理SaaS小程序(1) - 公司注册篇

热门文章

  1. 单端反激——隔离型DC/DC变换器的设计及仿真
  2. Vuforia用在安卓设备中外接USB摄像头(一)
  3. 迅捷CAD编辑器修改文字颜色步骤
  4. 【技术宅拯救世界】小米3小米4刷Android7.1 Nougat AOSP并安装Google套件教程与资源下载
  5. catia创成式外形设计-六通管建模过程
  6. Excel文件打开时提示连接被禁用却找不到连接
  7. 将MP3文件嵌入到exe中并播放
  8. 基于MATLAB Simulink的三相AC DC整流后的直流电机转速开环控制仿真模型
  9. PHP:类和对象定义及使用
  10. 如何统计和分析利用网络大数据?