一、列表

列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型

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

列表的索引从0开始

1、创建列表

>>> list1 = ['python', 2018, 'python3', 1994]>>>list1

['python', 2018, 'python3', 1994]>>> list2 = [1, 2, 3, 4]>>>list2

[1, 2, 3, 4]>>> list3 = ['a', 'b', 'c', 'd']>>>list3

['a', 'b', 'c', 'd']

2、获取列表元素个数

>>>len(list1)4

3、访问列表中的值

(1)使用索引来访问列表中的值,列表的索引从0开始:

>>>list1[0]'python'

>>> list1[1]2018

>>> list1[2]'python3'

>>> list1[3]1994

>>> list1[4]

Traceback (most recent call last):

File"", line 1, in IndexError: list index out of range

注意:当索引超出范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(list1) - 1。

(2)还可以获取列表最后一个元素:

>>> list1[-1]1994

以此类推,可以获取倒数第2个、倒数第3个、倒数第4个:

>>> list1[-2]'python3'

>>> list1[-3]2018

>>> list1[-4]'python'

>>> list1[-5]

Traceback (most recent call last):

File"", line 1, in IndexError: list index out of range

当然,倒数第5个元素已越界,需要注意一下。

(3)切片

截取列表前3个元素:

>>> list1[0:3]

['python', 2018, 'python3']>>> list1[:3] #如果第一个索引是0,可以省略

['python', 2018, 'python3']

倒数切片:

>>> list1[-2:] #获取后2个元素

['python3', 1994]>>> list1[-2:-1]

['python3']

前4个元素,每两个取一个:

>>> list1[:4:2]

['python', 'python3']

所有元素,每3个取一个:

>>> list1[::3]

['python', 1994]

原样复制一个列表:

>>>list1[:]

['python', 2018, 'python3', 1994]

4、合并列表

>>> list4 = list2 +list3>>>list4

[1, 2, 3, 4, 'a', 'b', 'c', 'd']

5、更新列表

>>>list1

['python', 2018, 'python3', 1994]>>> list1[1] = 2017

>>>list1

['python', 2017, 'python3', 1994]

6、删除列表

>>> dellist4

7、清空列表

>>>list1

['python', 2017, 'python3', 1994]>>>list1.clear()>>>list1

[]

8、列表操作的函数和方法

列表操作包含以下函数:

cmp(list1, list2) #比较两个列表的元素

len(list)    #列表元素个数

max(list)     #返回列表元素最大值

min(list)     #返回列表元素最小值

list(seq)     #将元组转换为列表

列表操作包含以下方法:

list.append(obj)      #在列表末尾添加新的对象

list.count(obj)      #统计某个元素在列表中出现的次数

list.extend(seq)     #在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

list.index(obj)      #从列表中找出某个值第一个匹配项的索引位置

list.insert(index, obj) #将对象插入列表

list.pop(obj=list[-1]) #移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

list.remove(obj)     #移除列表中某个值的第一个匹配项

list.reverse()      #反向列表中元素

list.sort([func])    #对原列表进行排序

二、元组

元组(tuple)和列表(list)非常类似,但是元组一旦初始化就不能修改,且元组使用小括号而列表使用中括号。

1、创建元组

>>> tup1 = ('python', 2018, 'python3', 1994)>>>tup1

('python', 2018, 'python3', 1994)>>> tup2 = (1, 2, 3, 4)>>>tup2

(1, 2, 3, 4)>>> tup3 = ('a', 'b', 'c', 'd')>>>tup3

('a', 'b', 'c', 'd')

注意:元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义

>>> tup4 = ('hello',)

2、合并元组

>>> tup5 = tup2 +tup3>>>tup5

(1, 2, 3, 4, 'a', 'b', 'c', 'd')

3、删除元组

>>> deltup5>>> tup5 #此时tup5已不存在,所有报错

Traceback (most recent call last):

File"", line 1, in NameError: name'tup5' is not defined

元组的操作基本与列表的操作一直,除了不能修改元组本身外。

三、字典

字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型

字典在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度

字典中键是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一

1、创建字典

>>> dict1 = {'a': 1, 'b': 2, 'b': '3'}>>>dict1

{'a': 1, 'b': '3'} #因为键存在相同,所以后面的键值替换了前面的键值

>>> dict2 = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}>>>dict2

{'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}>>> dict3 = { 'abc': 123, 98.6: 37}>>>dict3

{'abc': 123, 98.6: 37}

2、访问字典中的值

>>> dict2['Beth']'9102'

>>> dict2['Beth1'] #如果字典中没有的键访问值,会输出以下错误

Traceback (most recent call last):

File"", line 1, in KeyError:'Beth1'

3、修改字典

>>>dict1

{'a': 1, 'b': '3'}>>> dict1['b'] = 666

>>>dict1

{'a': 1, 'b': 666}

4、删除字典元素

能删单一的元素也能清空字典,并且可以直接删除字典

>>> dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}>>>dict

{'Name': 'Zara', 'Age': 7, 'Class': 'First'}>>> deldict['Name'] #删除键是'Name'的条目

>>>dict

{'Age': 7, 'Class': 'First'}>>> dict.clear() #清空词典所有条目

>>>dict

{}>>> deldict #删除词典

5、字典内置函数和方法

Python字典包含了以下内置函数:

cmp(dict1, dict2) #比较两个字典元素。

len(dict) #计算字典元素个数,即键的总数。

str(dict) #输出字典可打印的字符串表示。

type(variable) #返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

dict.clear()          #删除字典内所有元素

dict.copy()               #返回一个字典的浅复制

radiansdict.fromkeys()        #创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

dict.get(key, default=None)      #返回指定键的值,如果值不在字典中返回default值

dict.has_key(key)      #如果键在字典dict里返回true,否则返回false

dict.items()              #以列表返回可遍历的(键, 值) 元组数组

dict.keys()               #以列表返回一个字典所有的键

dict.setdefault(key, default=None) #和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default

dict.update(dict2)     #把字典dict2的键/值对更新到dict里

dict.values()        #以列表返回字典中的所有值

四、集合

集合(set)是一个无序不重复元素的序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用set() 而不是 { },因为 { } 是用来创建一个空字典。

1、创建集合

#创建一个空集合

>>> set1 =set()>>>set1

set()#创建一个具有数据的集合

>>> set2 = {1, 'a', 'apple', 11.22}>>>set2

{11.22, 1, 'apple', 'a'}>>> set3 = set([1, 2, 3])>>>set3

{1, 2, 3}

2、判断元素是否在集合内

>>> 'apple' inset2

True>>> 'apple' not inset2

False

3、添加元素

#将值添加到集合中,如果值存在,则不作任何操作

>>> set2.add('car')>>>set2

{1, 'apple', 'car', 11.22, 'a'}#另外一种添加方式,参数可以是列表、元组、字典等

>>> set2.update({2,3})>>>set2

{1, 'apple', 2, 3, 'car', 11.22, 'a'}>>> set2.update([1,4],[5,6])>>>set2

{1, 'apple', 2, 3, 4, 5, 6, 'car', 11.22, 'a'}

4、删除元素

>>> set2.remove('car')>>>set2

{1, 'apple', 2, 3, 4, 5, 6, 11.22, 'a'}>>> set2.remove('hello') #如果元素不存在会发生错误

Traceback (most recent call last):

File"", line 1, in KeyError:'hello'

#这种方式如果元素不存在不会发生错误

>>> set2.discard('hello')

5、计算集合元素个数

>>>len(set2)9

6、清空集合

>>>set2.clear()>>>set2

set()

python处理列表中字典_Python 列表、元组、字典及集合操作详解相关推荐

  1. python输入参数改变图形_Python基于Tensor FLow的图像处理操作详解

    本文实例讲述了Python基于Tensor FLow的图像处理操作.分享给大家供大家参考,具体如下: 在对图像进行深度学习时,有时可能图片的数量不足,或者希望网络进行更多的学习,这时可以对现有的图片数 ...

  2. word该值小于列表中的前一条目_Word域的应和详解.doc

    Word域的应和详解 Word域的应用和详解 ■第一章 域基础一.域的作用 微软的文字处理软件Microsoft Word系列,其方便和自动化程度是其他任何文字处理软件所望尘莫及的.究其原因,其一,微 ...

  3. python集合运算_Python 集合set()添加删除、交集、并集、集合操作详解

    在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法 ...

  4. python字符串strip的作用_Python字符串函数strip()原理及用法详解

    Python字符串函数strip()原理及用法详解 strip:用于移除字符串头尾指定的字符(默认为空格)或字符序列.注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符. 语法:str.s ...

  5. python爬虫常见报错_Python爬虫常见HTTP响应状态码详解

    在使用Python进行网页数据抓取时,经常会遇到无数据返还或错误等异常,这个时候可以通过status_code命令来查看获得http请求返回的状态码,以便查找原因并制定相应的解决方案.import r ...

  6. python的xpath用法介绍_python爬虫之xpath的基本使用详解

    本篇文章主要介绍了python爬虫之xpath的基本使用详解,现在分享给大家,也给大家做个参考.一起过来看看吧 一.简介 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XM ...

  7. python传入参数加星号_Python 带星号(* 或 **)的函数参数详解

    1. 带默认值的参数 在了解带星号(*)的参数之前,先看下带有默认值的参数,函数定义如下: >> def defaultValueArgs(common, defaultStr = &qu ...

  8. python运行错误-Python在运行中发生错误怎么正确处理方法,案例详解!

    在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因.在操作系统提供的调用中,返回错误码非常常见.比如打开文件的函数open(),成功时返回文件描 ...

  9. python集合的并集、交集_Python 集合set()添加删除、交集、并集、集合操作详解

    1.在Python中set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的 ...

最新文章

  1. python调用dll报错:ValueError: Procedure called with not enough arguments (4 bytes missing) or wrong call
  2. 实战matlab之并行程序设计.pdf,实战Matlab之并行程序设计_IT教程网
  3. Linux内核 sysctl.conf 优化设置
  4. 【直播课】6小时掌握YOLO缺陷检测与Faster RCNN动物检测实战
  5. 怎么设置java的精度值_Java:如何为double值设置Precision?
  6. Fragment(优化布局)
  7. js 延迟几秒执行_深入研究 Node.js 的回调队列
  8. myeclipse 8.5最新注册码(过期时间到2016年)
  9. 数据结构之顺序队列和链式队列常用的一些操作
  10. python程序员自我评价_写给程序员的简明 Python(1)
  11. python celery应用场景_python celery 模块
  12. mysql 复制功能_MySQL实现主从复制功能
  13. 接雨水c语言算法精解,详解一道高频面试题:接雨水
  14. 大数据实时处理学期总结
  15. 跨平台移动开发平台Flutter环境搭建
  16. 《Recent Advances in Deep Learning for Object Detection 》笔记
  17. 计算机考试打字题题库6,2018四至六年级电脑测试题
  18. Android6.0 usb默认MTP模式的修改方法
  19. 在虚拟机里虚拟打电话的代码
  20. ssh远程连接报错:WARNING: POSSIBLE DNS SPOOFING DETECTED(已解决)

热门文章

  1. 【2016年第1期】基于大数据的玉米田四代棉铃虫发生量的预测模型
  2. 线段覆盖(洛谷P1803题题解,C++语言描述)
  3. 台阶问题(洛谷P1192题题解,Java语言描述)
  4. 【Python】Sklearn线性回归模型预测波士顿房价并绘图
  5. java拦截器(interceptor)
  6. Spring MVC源码分析(一) 说明
  7. div+css布局注意点
  8. 解决HP ProLiant DL380 G5的Centos 7安装与启动不能识别硬盘问题
  9. .Net Attribute详解(下) - 使用Attribute武装枚举类型
  10. spring boot 初步学习