定义

在python中,用方括号表示一个list,[ ]
在方括号里面,可以是int,也可以是str类型的数据,甚至也能够是True/False这种布尔值。看下面的例子,特别注意阅读注释。

>>> a=[]        #定义了一个变量a,它是list类型,并且是空的。
>>> type(a)
<type 'list'>   #用内置函数type()查看变量a的类型,为list
>>> bool(a)     #用内置函数bool()看看list类型的变量a的布尔值,因为是空的,所以为False
False
>>> print a     #打印list类型的变量a
[]

不能总玩空的,来点实的吧。

>>> a=['2',3,'hiekay.github.io']
>>> a
['2', 3, 'hiekay.github.io']
>>> type(a)
<type 'list'>
>>> bool(a)
True
>>> print a
['2', 3, 'hiekay.github.io']

用上述方法,定义一个list类型的变量和数据。

list索引

在list中,是以元素为单位,不是以字符为单位进行索引了。看例子就明白了。

>>> a
['2', 3, 'hiekay.github.io']
>>> a[0]    #索引序号也是从0开始
'2'
>>> a[1]
3
>>> [2]
[2]
>>> a[:2]   #跟str中的类似,切片的范围是:包含开始位置,到结束位置之前
['2', 3]    #不包含结束位置
>>> a[1:]
[3, 'hiekay.github.io']
>>> a[-1]   #负数编号从右边开始
'hiekay.github.io'
>>> a[-2]
3
>>> a[:]
['2', 3, 'hiekay.github.io']

对list的操作

追加元素

即将新的元素x追加到list的尾部。

>>> a = ["good","python","I"]
>>> a
['good', 'python', 'I']
>>> a.append("like")        #向list中添加str类型"like"
>>> a
['good', 'python', 'I', 'like']
>>> a.append(100)           #向list中添加int类型100
>>> a
['good', 'python', 'I', 'like', 100]

list.append(x)等效于:a[len(a):]=[x]

>>> a
['good', 'python', 'I', 'like', 100]
>>> a[len(a):]=[3]      #len(a),即得到list的长度,这个长度是指list中的元素个数。
>>> a
['good', 'python', 'I', 'like', 100, 3]
>>> len(a)
6
>>> a[6:]=['xxoo']
>>> a
['good', 'python', 'I', 'like', 100, 3, 'xxoo']

list的长度

len(),这个是用来获取list,str等类型的数据长度的
len(x),对于list一样适用
得到的是list中元素个数
返回值是int类型

>>> name = 'yeashape'
>>> len(name)       #str的长度,是字符的个数
8
>>> a=[1,2,'a','b'] #list的长度,是元素的个数
>>> len(a)
4
>>> b=['yeashape']
>>> len(b)
1

合并list

list.extend(L)
la[len(la):]=lb

>>> la = [1, 2, 3]
[1, 2, 3]
>>> lb = ['hiekay', 'python']
['hiekay', 'python']
>>> la.extend(lb)
>>> la
[1, 2, 3, 'hiekay', 'python']
>>> lb
['hiekay', 'python']

上面的例子,显示了如何将两个list,一个是la,另外一个lb,将lb追加到la的后面,也就是把lb中的所有元素加入到la中,即让la扩容。
实验:

>>> la = [1,2,3]
>>> b = "abc"
>>> la.extend(b)
>>> la
[1, 2, 3, 'a', 'b', 'c']
>>> c = 5
>>> la.extend(c)
Traceback (most recent call last):File "<stdin>", line 1, in <module>TypeError: 'int' object is not iterable

从上面的实验中,extend的对象是一个list,如果extend(str)的时候,则python会先把它按照字符为单位转化为list再追加到已知list。
如果extend的对象是数值型,则报错.

  • la[len(la):]=lb
>>> la
[1, 2, 3, 'a', 'b', 'c']
>>> lb
['hiekay', 'python']
>>> la[len(la):]=lb
>>> la
[1, 2, 3, 'a', 'b', 'c', 'hiekay', 'python']

list.extend(L) 等效于 list[len(list):] = L,L是待并入的list

一个list函数list.append(),这里的extend函数也是将另外的元素(只不过这个元素是列表)增加到一个已知列表中,那么两者有什么不一样呢?看下面例子:

>>> lst = [1,2,3]
>>> lst.append(["hiekay","github"])
>>> lst
[1, 2, 3, ['hiekay', 'github']]  #append的结果
>>> len(lst)
4
>>> lst2 = [1,2,3]
>>> lst2.extend(["hiekay","github"])
>>> lst2
[1, 2, 3, 'hiekay', 'github']   #extend的结果
>>> len(lst2)
5

append是整建制地追加,extend是个体化扩编。

list中某元素的个数

list.count(x)
上面的len(L),可得到list的长度,也就是list中有多少个元素。python的list还有一个操作,就是数一数某个元素在该list中出现多少次,也就是某个元素有多少个。

>>> la = [1,2,1,1,3]
>>> la.count(1)
3
>>> la.append('a')
>>> la.append('a')
>>> la
[1, 2, 1, 1, 3, 'a', 'a']
>>> la.count('a')
2
>>> la.count(2)
1
>>> la.count(5)     #NOTE:la中没有5,但是如果用这种方法找,不报错,返回的是数字0
0

元素在list中的位置

L.index(x)
可以将list中的元素,从左向右依次从0开始编号,建立索引(如果从右向左,就从-1开始依次编号),通过索引能够提取出某个元素,或者某几个元素。就是如这样做:

>>> la
[1, 2, 3, 'a', 'b', 'c', 'hiekay', 'python']
>>> la[2]
3
>>> la[2:5]
[3, 'a', 'b']
>>> la[:7]
[1, 2, 3, 'a', 'b', 'c', 'hiekay']

如果考虑反过来的情况,能不能通过某个元素,找到它在list中的编号呢?

>>> la
[1, 2, 3, 'a', 'b', 'c', 'hiekay', 'python']
>>> la.index(3)
2
>>> la.index('a')
3
>>> la.index(1)
0
>>> la.index('qi')      #如果不存在,就报错
Traceback (most recent call last):File "<stdin>", line 1, in <module>ValueError: 'qi' is not in list
>>> la.index('hiekay')
6

list.index(x),x是list中的一个元素,这样就能够检索到该元素在list中的位置了。这才是真正的索引,注意那个英文单词index。

Python 数据类型 list(1)相关推荐

  1. Python 数据类型

    Python主要数据类型包括list(列表).tuple(元组).dict(字典)和set(集合)等对象,下面逐一介绍这些Python数据类型. list(列表)是Python内置的一种数据类型,作为 ...

  2. python中用于标识字符串的定界符_Python合集之Python数据类型(二)

    在上一节的合集中,我们了解了Python数据类型中的数值类型的相关知识,本节我们将进一步了解一下Python中关于数据类型中的字符串及布尔类型相关的知识. 1. 字符串类型 字符串是连续的字符序列,可 ...

  3. python数据类型-Python语言基本数据类型

    本文主要向大家介绍了Python语言基本数据类型,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. python标准数据类型 有六个标准的数据类型: 1.Number(数字) 2.S ...

  4. Python 数据类型及其用法

    本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组 ...

  5. CrazyWing:Python自动化运维开发实战 九、Python数据类型之列表

    导语 序列: 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推,Python已经内置确定序列的长度以及确定最大和最小 ...

  6. python中判断列表数据类型_浅谈Python数据类型判断及列表脚本操作

    数据类型判断 在python(版本3.0以上)使用变量,并进行值比较时.有时候会出现以下错误: TypeError: unorderable types: NoneType() < int() ...

  7. set集合判断集合中是否有无元素_集合 (Set) | 一山不容二虎的 Python 数据类型

    点击上方"可乐python说"关注公众号,点击右上角 "..."选择"设为星标"第一时间获取最新分享! 前言 Hi,大家好,我是可乐, 今天 ...

  8. Python 数据类型之字典

    Python 数据类型之字典 键值对的无序集合 键和值必须成对出现 只能通过键获取值创建字典创建字典和创建集合类似应当指定键值对而不是值>>> a_dict = {'Name':'S ...

  9. boost::python模块实现使用内置 python 数据类型创建 ndarrays 的示例,并提取成员变量的类型和值测试程序

    boost::python模块实现使用内置 python 数据类型创建 ndarrays 的示例,并提取成员变量的类型和值测试程序 实现功能 C++实现代码 实现功能 boost::python模块实 ...

  10. python数据类型转换原因_浅谈Python数据类型之间的转换

    Python数据类型之间的转换 函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 compl ...

最新文章

  1. linux兼容性,Atom 1.23发布:功能增强,兼容性更好
  2. 李彦宏喊你来坐出租车,无人驾驶的那种;百度还要继续搞芯片,联手华为的那种...
  3. 中provide的用法_英语词法:中考动词用法系统梳理下
  4. Idea+Maven+Jersey2+Tomcat配置Web服务
  5. nginx简单代理配置
  6. 爬楼梯 java_Leetcode 70.爬楼梯(Java)
  7. PHP脚本调用命令获取实时输出
  8. java的二叉树及三种遍历
  9. Python+django网页设计入门(13):表单、修改密码
  10. [论文阅读] State-Relabeling Adversarial Active Learning
  11. SylixOS allwinner h6 链接脚本
  12. 简单介绍企业erp系统究竟是什么?
  13. GreenDotNet0 1 1发布 Net精简环境 及示例 Net在线漫画下载器
  14. Ubuntu 旅行日记 Day 1
  15. 【云原生监控系列第一篇】一文详解Prometheus普罗米修斯监控系统(山前前后各有风景,有风无风都很自由)
  16. QQ登录界面实现(JAVA)
  17. JavaWeb - 工作窃取算法 Work-Stealing
  18. keep-alive 组件缓存的用法
  19. pc构件生产线及设备_PC构件生产线全套设备清单
  20. 基于Servlet+jsp+mysql开发javaWeb学生管理系统(学生信息、学生选课、学生成绩、学生签到考勤)

热门文章

  1. PHP二开 三语言( 中文、英语、马来语) 自动抢单系统源码
  2. 帝国cms模板仿企业网站
  3. 新编计算机应用基础项目教程电子书,计算机应用基础新编教程-殷锋社.pdf
  4. js给百度地图上的圆点加自定义动画_three.js实现建筑物纹理流动
  5. QQ红包源码 大转盘抽奖源码下载 微信红包源码
  6. 自适应简约数字动画404错误页面源码
  7. 面试:一文搞懂堆和栈的区别
  8. Picturefill.WP – 根据屏幕尺寸加载合适的图片
  9. php输入流php://input的使用分析
  10. 在Shell中使用函数文件,引入文件