热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python序列类型是二维元素向量吗_Python序列类型有哪些?

Python序列类型序列:字符、列表、元组所有序列都支持迭代序列表示索引为非负整数的有序对象集合字符和元组属于不可变序列,列表可变1)字符字符串

Python序列类型序列:字符、列表、元组

所有序列都支持迭代

序列表示索引为非负整数的有序对象集合

字符和元组属于不可变序列,列表可变

1)字符字符串字面量:把文本放入单引号、双引号或三引号中;

' '' '''

>>> str1 = ' hello, fanison '

>>> type(str1)

str

如果要使用unicode编码,则在字符之前使用字符u进行标识

>>> str2 = u'你好,fanison'

>>> type(str2)

unicode

文档字串:模块、类或函数的第一条语句是一个字符的话,该 字符串就成为文档字符串,可以使用__doc__属性引用;

例:

>>> def printName():

"the function is print hello"

print 'hello'

>>> printName.__doc__

运算符:

索引运算符 s[i] 返回一个序列的元素i

切片运算符 s[i:j] 返回一个切片

扩展切片运算符 s[i:j:stride]

例:

>>> str3 = 'hello,fanison'

>>> str2[0:]

'hello,fanison' 返回所有元素

>>> str2[0:7]

'hello,f' 返回索引7之前的所有元素

>>> str2[0:7:2]

'hlof' 返回从索引0到6内步径为2的元素,即隔一个取一个

>>> str2[7:0:-2]

'a,le' 从索引7处倒着隔一个取一个取到索引1处

>>> str2[-4:-1]

'iso' 从索引-4处取到-2处

>>> str2[-4::-1]

'inaf,olleh' 从-4处到开始处倒着取

注意:

步径为正表示 正着取,索引从小到大 i

步径为负表示 倒着取,索引从大到小 i > j

支持运算:

索引、切片、min()、max()、len()等

len(s) s中的元素个数

min(s) s的最小值

max(s) s的最大值

支持方法:

S.index(sub [,start [,end]]) 找到指定字符串sub首次出现的位置

S.upper() 将一个字符串转换为大写形式

S.lower() 将一个字符串转化为小写形式

S.join(t) 使用s作为分隔符连接序列t中的字符串

>>> l1 = list(str1)

>>> l1

['h', 'e', 'l', 'l', 'o', ',', 'f', 'a', 'n', 'i', 's', 'o', 'n']

>>> ''.join(l1)

'hello,fanison' 使用空字符作为分隔符连接列表l1

S.replace(old, new[, count]) 替换一个字符串

>>> str1.replace('fan','FAN')

'hello,FANison'

注意:

使用 help()获取其帮助

>>> help(str.join)

2)列表列表:容器类型

任意对象的有序集合,通过索引访问其中的元素,可变对象,长度可变,异构,任意嵌套

支持在原处修改

修改指定的索引元素,修改指定的分片,删除语句,内置方法

>>> list1 = [ 1,2,3,'x','n' ]

>>> list1[1]=56

>>> print list1

[1, 56, 3, 'x', 'n']

>>> list1[1:3]=[] 会删除索引1到索引3之前的元素

>>> print list1

[1, 'x', 'n']

>>> del(list1[1]) 使用del函数删除list索引为1的元素

>>> print list1

[1, 'n']

注意:

因为支持原处修改,不会改变内存位置,可使用 id() 查看其位置变化

内置方法:

L.count(value) 计算value值出现的次数

L.append(object) 将一个新元素追加到L末端

L.extend(iterable) 增加合并列表(第二个列表内容会以单个元素追加至末端)

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

>>> l2 = [ 'x','y','z']

>>> l1.append(l2)

>>> l1

[1, 2, 3, ['x', 'y', 'z']] 使用append方法会以其原有存在形式追加

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

>>> l1.extend(l2)

>>> l1

[1, 2, 3, 'x', 'y', 'z'] 注意两种增加的区别

L.pop([index]) 返回元素index并从列表中移除它,如果省略则返回并移除列表最后一个元素

L.remove(key) 移除值为key的元素

>>> l1 = [ 'x',2,'abc',16,75 ]

>>> l1.pop(2) pop方法是按索引移除

'abc'

>>> l1

['x', 2, 16, 75]

>>> l1.remove(16) remove方法是按值移除

>>> l1

['x', 2, 75]

L.index(value) 指定值首次出现的位置

L.insert(index, object) 在索引index处插入值

>>> l1.insert(1,'abc')

>>> l1

['x', 'abc', 2, 75]

L.sort() 排序

L.reverse() 逆序

>>> l1.sort()

[2, 75, 'abc', 'x']

>>> l1.reverse()

['x', 'abc', 75, 2]

l1 + l2: 合并两个列表,返回一个新的列表;不会修改原列表;

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

>>> l2 = [ 'x','y','z']

>>> l1 + l2

[1, 2, 3, 'x', 'y', 'z']

l1 * N: 把l1重复N次,返回一个新列表;

>>> l1 * 3

[1, 2, 3, 1, 2, 3, 1, 2, 3] 使用id()查看是否生成新列表

成员关系判断字符:

in 用法: item in container

not in item not in container

>>> l1 = [ 'x','y',3 ]

>>> 'y' in l1

True

>>> 'x' not in l1

False

列表解析:[]

列表复制方式:

浅复制:两者指向同一内存对象

>>> l1 = [ 1,2,3,4 ]

>>> l2 = l1

>>> id(l1) == id(l1)

True 可以看出两者内存地址相同

>>> l1.append('x')

>>> print l1

[ 1,2,3,4,'x' ]

>>> print l2

[ 1,2,3,4,'x' ]

深复制:两者指向不同内存对象

1)导入copy模块,使用deepcoop方法

>>> import copy

>>> l3 = copy.deepcopy(l1)

>>> id(l3) == id(l1)

False 地址不同

2)复制列表的所有元素,生成一个新列表

>>> l4 = l1[:]

>>> print l4

[ 1,2,3,4,'x' ]

>>> l1.append(6)

>>> print l1

[ 1,2,3,4,'x',6 ] l1改变

>>> print l4

[ 1,2,3,4,'x' ] l4不变

3)元组表达式符号:()

容器类型

任意对象的有序集合,通过索引访问其中的元素,不可变对象,长度固定,异构,嵌套

常见操作:

()

>>> t1 = ( 1,2,3,'xyz','abc')

>>> type(t1)

tuple

>>> len(t1)

5

>>> t2 = () 定义一个空元组

>>> t3 = ( , )

SyntaxError: invalid syntax 报错:使用逗号分隔的条件是最少要有一个元素

(1,)

>>> t1[:]

( 1,2,3,'xyz','abc' )

>>> t1[1:]

(2, 3, 'xyz', 'abc')

(1,2)

>>> t1[1:4]

(2, 3, 'xyz')

>>> t4 = 'x',1,'yz',45,[2,4,6] 注意!!!这样也可以生成元组

>>> t4

('x', 1, 'yz', 45, [2, 4, 6])

t1 + t4: 合并两个元组,返回一个新的元组;不会修改原元组;

>>> t1 + t4

(1, 2, 3, 'xyz', 'abc', 'x', 1, 'yz', 45, [2, 4, 6])

t1 * N: 把l1重复N次,返回一个新元组;

>>> t1 * 3

(1, 2, 3, 'xyz', 'abc', 1, 2, 3, 'xyz', 'abc', 1, 2, 3, 'xyz', 'abc')

成员关系判断

in

not in

注意:

虽然元组本身不可变,但如果元组内嵌套了可变类型的元素,那么此类元素的修改不会返回新元组;

例:

>>> t4 = ('x', 1, 'yz', 45, [2, 4, 6])

>>> id(t4)

44058448

>>> t4[4]

[2, 4, 6]

>>> t4[4].pop() 弹出列表内一个元素

6

>>> print t4[4]

[2, 4]

>>> print t4

('x', 1, 'yz', 45, [2, 4])

>>> id(t4)

44058448 由此可见,对元组内列表内的修改也会使元组发生改变,没有返回新元组

4)序列操作总结

e7be79e5f58c9edb647441469085533b-0.png

以上就是Python序列类型有哪些?的详细内容,更多请关注其它相关文章!

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网



推荐阅读
  • Day2列表、字典、集合操作详解
    本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了一种图片处理应用,通过固定容器来实现缩略图的功能。该方法可以实现等比例缩略、扩容填充和裁剪等操作。详细的实现步骤和代码示例在正文中给出。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 本文介绍了Java的集合及其实现类,包括数据结构、抽象类和具体实现类的关系,详细介绍了List接口及其实现类ArrayList的基本操作和特点。文章通过提供相关参考文档和链接,帮助读者更好地理解和使用Java的集合类。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 标题: ... [详细]
  • 集合的遍历方式及其局限性
    本文介绍了Java中集合的遍历方式,重点介绍了for-each语句的用法和优势。同时指出了for-each语句无法引用数组或集合的索引的局限性。通过示例代码展示了for-each语句的使用方法,并提供了改写为for语句版本的方法。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
author-avatar
Maze-HYW_276
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有