python基础之二
来源:互联网 发布:985 知乎 编辑:程序博客网 时间:2024/06/13 04:27
python须知的数据结构
- python提供了几种内置数据结构,包括元组、列表、字典和序列。熟练使用内置数据结构是python语言进行开发的基础。
1. 元组(tuple)
- 元组是python中常用的一种数据结构,元组有不同的元素组成,每个元素也可以存储不同的数据类型,元组是“写保护”的,元组在创建之后就不能在做任何的修改操作了。
- 元组由一系列元素组成,所有元素被包含在一对圆括号中,创建元组时,可以不指定元素个数,元组一旦创建就不能修改元组的长度了,元组的创建格式如下:
tuple = (元素1,元素2, ...) #创建元组tuple = ("apple","banana","grape","orange") # 初始化元组tuple = () # 创建空元组,只需要一堆空的圆括号即可tuple = ("apple",) # 创建单元素元组时,逗号必不可少
注: 创建单元素元组时,元素后的逗号不可少,不加逗号则无法区分是元组还是表达式。
- python中的所有内置数据结构在索引时,都是从0开始计数的,索引0表示第一个元素。
- 元组中的元素不支持赋值操作,也不能添加或是删除任何元素,元组也没有任何其他的方法,元组的访问可以通过索引获取,包括负数索引和分片索引,这是python语言的特殊用法。负数索引从元组的尾部开始计数,最后一个元素索引为-1,往前依次为-2,-3,…,以此类推。分片索引的格式如下:
tuple[m:n] # 其中m,n可以是0、正整数、负整数,包括索引为m的元素,但不包括索引为n的元素
- 创建元组的过程,python称为“打包”,反过来,也可以执行“解包”操作,解包可以将元组的各个元素分别赋值给多个变量。
tuple = ("apple","banana","grape","orange") # 打包操作a,b,c,d = tuple # 解包操作
- 遍历元组需要用到两个python常用的内健函数,range()和len(),可直接调用,len()计算元组的元素总数目,range()返回一个递增或是递减的数字列表。 可以直接使用for … in …语句遍历元组。
2. 列表(list)
- 列表是python中重要的数据类型,与元组类似,不过列表可以实现添加、删除、查找操作,元素的值也可以修改,这是列表与元组最大的区别。列表由一列元素组成,所有元素包含在一对方括号中,列表创建后,可以执行添加和删除元素的操作。
- 列表的添加操作可以调用append()函数,列表的删除操作可以是remove()函数,remove()删除列表中的元素,若元素不在列表中,则会出现异常。此外,如果列表中有多个相同的元素,调用remove()移除同名元素将只删除列表中靠前的元素,靠后的元素会被保留。
# 常见列表操作list = ['apple','banana','grape','orange'] #创建列表list.append('watermelon') # 列表末尾添加元素list.insert(1,'grapefruit') # 列表指定位置插入元素list.remove('grape') # 从列表中移除元素list.remove('a') # 移除列表中不存在的元素会报错list.pop() # 弹出列表中最后一个元素,相当于取出列表中最后一个元素
- 列表的使用与元组类似,同样支持负数索引和切片索引,但是列表的元素可以修改。列表还支持连接操作,可以调用extend()函数连接两个不同的列表,也可以使用运算符“+”或“+=”。
list = ['apple','banana','grape','orange']list1 = list[-2:] # 负数索引和切片索引list.extend(list1) # list连接list1list = list + list1 # list连接list1list += list1 # list连接list1list = list * 2 # list连接list,“*”运算符连接多个相同的列表
- 列表除了上述操作外,还支持查找、排序和反转操作。列表的查找提供了两种方式,一种使用index方法返回元素在列表中的位置,另一种方式是使用关键词“in”判断元素是否在列表中。
list = ['apple','banana','grape','orange']list.index('apple') # 返回元素apple的索引print('apple' in list) # 打印判断语句的结果
列表的常用方法包括
3. 字典(dict)
- 字典是由一系列的“键-值”(key-value)对组成,并且“键-值”对之间用“,”隔开,并且被包含在一对花括号中。字典与Java语言中的HashMap类相似,都是采用“键-值”对映射的方式存放数据。字典的创建与使用非常简单,格式如下:
dictionary = {key1:value1,key2:value2,...} # 创建字典dictionary = {} # 创建空字典value = dict{key} # 访问字典元素
- 元组和列表的访问是通过数字索引来获取对应的值,字典是通过key值获取相应的value值。字典的添加、删除和修改也非常简单,字典没有remove()、append()操作,添加和修改操作只需要编写一条赋值语句即可,此赋值语句要么修改已有索引的值,要么添加新的“键-值”对。字典常用方法如下:
- 字典的排序可以使用sorted()函数,排序方式如下:
sorted(dict.items(),keys=lambda d:d[0]) #按照key排序sorted(dict.items(),keys=lambda d:d[1]) #按照value排序
- 深拷贝与浅拷贝的区别:深拷贝能够拷贝对象内部的所有数据和引用,浅拷贝只是复制数据,并没有复制引用,新数据好旧数据使用同一块内存空间。例如,字典B浅拷贝字典A的数据,如果字典B的数据发生添加、删除、修改等操作,字典A的数据也会改变,相反,若是字典B深拷贝字典A的数据,字典B的数据即使发生改变,也不会影响字典A。使用python的copy模块可以实现对象的深copy和浅copy,copy.deepcopy()用于深copy,copy.copy()用于浅copy。
阅读全文
0 0
- python基础之二
- python 基础篇之二
- Python入门基础之二
- Python基础之二函数
- Python核心基础:之二:基础语法
- python学习之基础篇二
- Python基础学习笔记之(二)
- Python基础学习笔记之二
- 机器学习之python基础(二)
- Python基础学习笔记之(二)
- Python基础学习笔记之二
- 初学python之基础详解(二)
- Python基础入门之函数二
- python 3.0学习笔记之二------python基础小知识
- Python基础(二)之Python变量和数据类型
- Python学习笔记之Python基础(二)
- Python之路【第三篇】:Python基础(二)
- Python基础学习二
- 第五天
- mybatis学习之参数传递方式
- POJ 2965 (枚举)
- Java语言程序设计(基础篇)第十版 9.7
- PyCharm使用技巧:Execute Selection in Console(控制台执行选中的文本)
- python基础之二
- HTML5-选择器续
- XML基础
- c++ extern
- Nginx+uWSGI+Django安装过程中遇到的问题
- Docker Ubuntu容器安装ping
- 脚本ssh自动登录linux服务器
- The page you tried to access (/manager/login.do) does not exist
- 菜鸟学Python