我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python 列表特点及常用操作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python 列表特点及常用操作

一、列表的特性

1、有序的集合

2、通过偏移来索引,从而读取数据

3、支持嵌套

4、可变的类型


列表支持的方法

>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>> a= [1,2,3]
>>> a[-1]
3
>>> b=[[1,2,3],[3,4,5]] #列表可以嵌套
>>> b[1]
[3, 4, 5]
>>> b[1][1]
4
>>> b[1]=10 #原地修改列表
>>> b
[[1, 2, 3], 10]
>>> id(b)
46944392836376
>>> b[0]=5
>>> b
[5, 10]
>>> id(b)
46944392836376


二、列表的常用操作

1、切片:正向索引、反向索引、默认索引

a = [1,2,3,4,5,6,7]
>>> a = [1,2,3,4,5,6,7]
>>> a
[1, 2, 3, 4, 5, 6, 7]
>>> a[0:4:1]
[1, 2, 3, 4]
>>> a[-1:-4:-1]
[7, 6, 5]
>>> a[1:]
[2, 3, 4, 5, 6, 7]
>>> a[1::2]
[2, 4, 6]



2、添加操作:

+: 生成一个新的列表

Extend  接受参数并将该参数的每个元素都添加到原有的列表中,原地修改列表而不是新建列表

Append :添加任意对象到列表的末端

Insert: 插入任意对象到列表中,可以控制插入位置。


 

>>> a = [1,2,3]
>>> b=[4,5,6]
>>> c=a+b
>>> print c #产生一个新的列表
[1, 2, 3, 4, 5, 6]
>>> id(a)
46944392835016
>>> a.extend(b)  #原地修改列表
>>> print a
[1, 2, 3, 4, 5, 6]
>>> id(a)
46944392835016
>>> a=[1,2,3]
>>> a.append(4) #添加任意对象到列表的末段
>>> print a
[1, 2, 3, 4]
>>> a.insert(1,'ab')
>>> print a
[1, 'ab', 2, 3, 4]


3、修改,修改列表本身只需要直接赋值操作就行。

>>> A = [1,2,3]
>>> A[0]='python'
>>> print A
['python', 2, 3]

 


4、删除操作:

Del :我们通过索引删除指定位置的元素。

Remove:移除列表中指定值的第一个匹配值。如果没找到的话,会抛异常。

Pop:返回最后一个元素,并从list中删除它。

>>> a
['python', 'ab', 2, 3, 4]
>>> 
>>> del a[0]
>>> a
['ab', 2, 3, 4]
>>> a.remove(2)  #删除的是给定的value
>>> a
['ab', 3, 4]
>>> a.remove(2) #如果没找到的话,会抛异常。
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ValueError: list.remove(x): x not in list
>>> a
['ab', 3, 4]
>>> a.pop() #默认是删除最后一个元素,也可以跟一个具体的index
4
>>> a
['ab', 3]

 

5、成员关系:

in 、not in我们可以判断一个元素是否在列表里。 

返回一个bool类型,元素在列表里返回true,否则返回fasle.

>>> a = [1,2,3]
>>> 2 in a
True
>>> 5 not in a
True


6、列表推导式:


[expr for iter_var in iterable] 

6.1 、首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。

比如我们要生成一个包含1到10的列表

>>> [x for x in range(1,11)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(1,11)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


[expr for iter_var in iterable if cond_expr]


6.2、加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。

要生成包含1到10的所有奇数列表。

>>> range(1,11,2)
[1, 3, 5, 7, 9]
>>> [x for x in range(1,11) if x % 2 == 1]
[1, 3, 5, 7, 9]



6.3 取出1-100的所有值的平方。

[x*x for x in range(100)]

6.4 生成字符串 

['the %s' % d  for d in xrange(10)]

6.5 生成元组 

>>> [(x,y) for x in range(2) for y in range(2)]
[(0, 0), (0, 1), (1, 0), (1, 1)]

6.6 生成字典  

>>> dict([(x,y) for x in range(3) for y in range(2)]) #后面的键会覆盖前面的键
{0: 1, 1: 1, 2: 1}


 


7、排序翻转:sort,reverse

>>> a= [33,11,22,44]
>>> b=a.sort() #直接修改原列表,返回的是一个None
>>> print b
None
>>> print a
[11, 22, 33, 44]

list的reverse函数:反转一个list, 直接修改原列表,它的返回值为none

比如上面的列表a

b = a. reverse()
print b  #输出的内容是None
>>> b=a.reverse()
>>> a  #直接看a列表变量能看到翻转的效果。
[44, 33, 22, 11]


8、内置list方法,返回一个列表,参数是可迭代对象。里面输出的内容还是保持了传入的可迭代对象的元素和顺序。如果参数为空,则返回一个空的列表

a = "asd"
list(a)
>>> a="asd"
>>> list(a)
['a', 's', 'd']
>>> list((1,3))
[1, 3]


9、xrange和range的具体区别。

9.1 xrange的用法:

xrange(开始,结束,步长)

xrange 它生成一个xrange对象。

比如:

>>> a = xrange(1,10)
>>> print type(a)
<type 'xrange'>
>>> print a[0]
1
>>> x = xrange(1,10)  #返回的是一个生成器
>>> x
xrange(1, 10)
>>> b =range(1,10) #返回的是一个列表
>>> type(b)
<type 'list'>
>>> b
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> x[0]
1
>>> b[0]
1


range: 直接生成一个列表对象。

xrange: 它是生成一个xrange对象.

xrange的用法:


1、当我们需要操作一个非常大的数据,而且内存比较吃紧的时候,我们可以用xrange来操作省内存。xrange的数据是取的时候才生成,而range是一次性生成好

2、xrange一般用在循环里面,比如我们只需要操作部分数据的话,而不是返回全部元素来完成操作,推荐用xrange,效率更高。


比如:


for m in range(1000):  #[0-999]
    if m == 10:
        print 'sss'
        break
for m in xrange(1000):  #[0-10] 
    if m == 10:
        print 'sss'
        break



10、列表的引用

>>> a = ['i','am','lilei']
>>> b=a
>>> id(a)
46944392840544
>>> id(b)
46944392840544
>>> a[2]="hello"
>>> print b[2]
hello
>>> print b
['i', 'am', 'hello']
>>> del b
>>> a #删除了b的引用,a的引用还是在
['i', 'am', 'hello']



小技巧之再议删除

1、a = []

2、del a 删除列表对象的引用

3、del a[:] 清空列表对象里的元素,等价于a =[]

>>> a = ['i','am','lilei']
>>> b=a
>>> a=[]
>>> b
['i', 'am', 'lilei']
>>> del a[:]
>>> a
[]
>>> b
['i', 'am', 'lilei']
>>> a=b
>>> del a
>>> b
['i', 'am', 'lilei']


练习:


1、下面列表:

a = [1,2,3,4,5,333,11,44]

输出下面的结果:

[4,5,333]


>>> a[3:6]  # 第一个参数是闭区间、第二个参数是开区间

[4, 5, 333]

>>> a[-5:-2]

[4, 5, 333]



2、有下面2个列表

a = [1,2,3]

b = [4,5,6]


用2个方法输出下面结果:


[1,2,3,4,5,6]

>>> a+b
[1, 2, 3, 4, 5, 6]
>>> a.extend(b) #将b的内容打散插入到a中
>>> a
[1, 2, 3, 4, 5, 6]



>>> a = [1,2,3]

>>> a.append(b) #将b作为一个整体插入

>>> a

[1, 2, 3, [4, 5, 6]]


>>> a.insert(3,b) #将b作为一个整体插入

[1, 2, 3, [4, 5, 6]]


三 有下面2个列表:


a = [1,99,33,44,55,22]

b= [11,33,54]

输出结果:


1:[1,2,99,33,44,55,22,(11,33,54)]


2: [1,2,99,33,101,44,55,22]



四:用列表推导式生成100内的大于20的偶数


>>>[x for x in range(20,101) if x%2==0]
>>> range(20,101,2)


五: 已知:元组 a = (1,2,3) 利用list方法,输出下面的结果:

(1,2,4)

>>> a = (1,2,3)
>>> a=list(a)
>>> a[2]=4
>>> a=tuple(a)
>>> a
(1, 2, 4)



六: 利用列表推导完成下面习题:

1 输出结果:[1 love python,2 love python,3 love python,.... 10 love python]

>>> ["%s love python"  %  x  for x in range(1,11)]


2 输出结果:[(0,0),(0,2),(2,0),(2,2)]

>>> [(x,y) for x in range(0,3,2) for y in range(0,3,2)]
[(0, 0), (0, 2), (2, 0), (2, 2)]


七:

a = [1,2,3]

b = a[:]

del a

b的值是什么,为什么呢?

>>> a = [1,2,3]
>>> b=a[:]
>>> del a
>>> b
[1, 2, 3]

因为b和a指向的是不同的对象地址








免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python 列表特点及常用操作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 列表特点及常用操作

一、列表的特性1、有序的集合2、通过偏移来索引,从而读取数据3、支持嵌套4、可变的类型列表支持的方法>>> dir(list)['__add__', '__class__', '__contains__', '__delattr__', '
2023-01-31

Python 元组和集合的特点及常用操作

一、元组的特点:1、有序的集合2、通过偏移来取数据3、属于不可变的对象,不能在原地修改内容,没有排序,修改等操作。tuple支持的方法很少>>> dir(tuple)['__add__', '__class__', '__contains_
2023-01-31

python中列表类型常用操作

列表是个在写测试用例时经常被用到的类型,我们来看下列表常用的一些操作吧。1、 分片作用:提取列表中的一部分元素出来(分片在测试的时候也经常会用到)这里的a[1:4]指取从a这个列表的下标为1的索引开始(即第二个元素),到下标为3的索引
2023-01-31

Python 字典的特点和常用操作

一、字典帮助文档>>> dir(dict)['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__form
2023-01-31

Python中列表list常见操作

主要涉及知识点列表是我们python里面最常见的数据类型,我们主要有以下的操作。1、索引2、切片3、追加4、删除5、长度6、循环 (也称遍历)7、包含8、嵌套例如定义列表:List2=['openstack','python','linux
2023-01-31

python列表的常用操作方法小结

本文实例为大家了Python中列表(List)的详解操作方法,供大家参考,具体内容如下 1.创建列表。只要把逗号分隔的不同的数据项使用方括号括起来即可 List = ['wade','james','bosh','haslem'] 与字符串
2022-06-04

Python列表常见操作和注意

常见操作列表很常用,每一个元素之间用 , 隔开。列表中的每一个元素可以是任意类型的数据数字,字符串,列表,元组,集合,字典列表可进行的操作索引(从0开始)、切片、加、成员检查(in,not in),for循环。 Python 表达式结果描述
2023-01-30

python中列表的常用操作增删改查

1. 列表的概念,列表是一种存储大量数据的存储模型。2. 列表的特点,列表具有索引的概念,可以通过索引操作列表中的数据。列表中的数据可以进行添加、删除、修改、查询等操作。3. 列表的基本语法创建列表:变量名 = [数据1,数据2,……]获取
2023-01-30

Python 列表、元组、字典及集合操作

一、列表列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型列表是一种有序的集合,可以随时添加和删除其中的元素列表的索引从0开始1、创建列表>>> list1 = ['python', 20
2023-01-30

Python列表和数组的常用操作是怎样的

这篇文章将为大家详细讲解有关Python列表和数组的常用操作是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python中的列表(list)类似于C#中的可变数组(ArrayList)
2023-06-04

常见的Python列表操作问题有哪些

这篇文章主要介绍“常见的Python列表操作问题有哪些”,在日常操作中,相信很多人在常见的Python列表操作问题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”常见的Python列表操作问题有哪些”的疑
2023-06-16

使用python怎么操作列表元素

这期内容当中小编将会给大家带来有关使用python怎么操作列表元素,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python的数据类型有哪些?python的数据类型:1. 数字类型,包括int(整型)、l
2023-06-14

PostgreSQL 数组类型操作使用及特点详解

这篇文章主要为大家介绍了PostgreSQL 数组类型操作使用及特点详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

浅谈Python数据类型判断及列表脚本操作

数据类型判断 在python(版本3.0以上)使用变量,并进行值比较时。有时候会出现以下错误: TypeError: unorderable types: NoneType() < int() 或者类似的类型错误。 这是因为一方变量的数据类
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录