一、列表

  • 列表是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 "<input>", line 1, in <module>
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 "<input>", line 1, in <module>
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、删除列表

>>> del list4

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、删除元组

>>> del tup5
>>> tup5 #此时tup5已不存在,所有报错
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'tup5' is not defined

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

三、字典

  • 字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型
  • 字典在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度
  • 字典中键是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一

1、创建字典

>>> dict1 = {'a': 1, 'b': 2, 'b': ''}
>>> dict1
{'a': 1, 'b': ''} #因为键存在相同,所以后面的键值替换了前面的键值 >>> dict2 = {'Alice': '', 'Beth': '', 'Cecil': ''}
>>> dict2
{'Alice': '', 'Beth': '', 'Cecil': ''} >>> dict3 = { 'abc': 123, 98.6: 37 }
>>> dict3
{'abc': 123, 98.6: 37}

2、访问字典中的值

>>> dict2['Beth']
'' >>> dict2['Beth1'] # 如果字典中没有的键访问值,会输出以下错误
Traceback (most recent call last):
File "<input>", line 1, in <module>
KeyError: 'Beth1'

3、修改字典

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

4、删除字典元素

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

>>> dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
>>> dict
{'Name': 'Zara', 'Age': 7, 'Class': 'First'}
>>> del dict['Name'] #删除键是'Name'的条目
>>> dict
{'Age': 7, 'Class': 'First'}
>>> dict.clear() #清空词典所有条目
>>> dict
{}
>>> del dict #删除词典

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' in set2
True
>>> 'apple' not in set2
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 "<input>", line 1, in <module>
KeyError: 'hello' #这种方式如果元素不存在不会发生错误
>>> set2.discard('hello')

5、计算集合元素个数

>>> len(set2)
9

6、清空集合

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

Python 列表、元组、字典及集合操作详解的更多相关文章

  1. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  2. Python列表,元组,字典,集合详细操作

    菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...

  3. Python列表,元组,字典,字符串方法笔记

    01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...

  4. Python 列表,元组,字典

    0)字符串切片 py_str = 'python' >>>py_str[0] #取第一个字符串,返回值为"p",超出范围会报错 >>>py_st ...

  5. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  6. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  7. Python 集合set()添加删除、交集、并集、集合操作详解

    集合:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次.每个元素的地位都是相同的,元素之间是无序的. 创建集合set python set类是在python的sets模块中,大家现在使 ...

  8. 【277】◀▶ Python 列表/元组/字典说明

    目录: 前言 一.访问列表中的值 二.更新列表 三.删除列表元素 四.Python 列表脚本操作符 五.Python 列表函数 & 方法 参考:Python 列表(List)使用说明 列表截取 ...

  9. python的dict()字典数据类型的方法详解以及案例使用

    一.之前的回顾 # int  数字 # str 字符串 # list 列表 # tuple 元组 # dict 字典 字典中最重要的方法 keys() values() items() get upd ...

随机推荐

  1. hdu-3449 Consumer---有依赖性质的背包

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3449 题目大意: fj打算去买一些东西,在那之前,他需要一些盒子去装他打算要买的不同的物品.每一个盒 ...

  2. DP上课覆盖知识点,POJ(1513)

    题目链接:http://poj.org/problem?id=1513 解题报告: 思路: 知识点从第二个开始扫,递推表达式是:minlec[i]=min(minlec[k])+1,并且要保证,tim ...

  3. CORS跨域请求的限制和解决

    我们模拟一个跨域的请求,一个是8888,一个是8887 //server.js const http = require('http'); const fs = require('fs'); http ...

  4. 2017.10.20 jsp用户登陆界面连接数据库

    用户登陆界面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...

  5. linux .h .so .a文件

    在linux开发中,完全不使用第三方库的情况比较少见,通常都需要借助一个或多个函数库的支持才能完成相应功能.从程序员角度看,函数库实际上是一些头文件(.h)和库文件(.so或.a)的集合.linux下 ...

  6. Design and Implementation of Global Path Planning System for Unmanned Surface Vehicle among Multiple Task Points

    Design and Implementation of Global Path Planning System for Unmanned Surface Vehicle among Multiple ...

  7. 重定向跳出父Frame

    当session过期后可以用过滤器来设置重定向页面 代码如下: public class ActionFilter extends HttpServlet implements Filter {pri ...

  8. Windosw系统——常见的问题

    1. 写在某些软件后就无法打开网页,但可以上QQ. 在卸载了一些VPN或USB无线设备后,发现自己网页打不开,但是ping能ping通,也可以登录QQ. 解决办法: (1): 开始运行——regedi ...

  9. Linux文件服务器实战(虚拟用户)

    vsftpd基于系统用户访问ftp服务器,系统用户越多越不利于管理,不利于系统安全,这样就以vsftp虚拟防护的方式来解决. 虚拟用户没有实际的真实系统用户,,而是通过映射到其中一个真实用户以及设置相 ...

  10. Linux Kernel ---- PCI Driver 分析

    自己笔记使用. Kernel 版本 4.15.0 (ubuntu 18.04,intel skylake) 最近想学习VGA驱动去了解 DDCCP / EDID 等协议,然后顺便了解下驱动是如何工作的 ...