参考原文链接https://www.runoob.com/python3/python3-set.html
Python包含6中内建的序列,即列表、元组、字符串、Unicode字符串、buffer对象和xrange对象
注:准确的来说,在python中是没有数组类型的,python中取而代之的是列表和元组。列表比元组好用,因为元组一旦定义就没法修改。
通用序列操作:索引、分片、序列相加、乘法、成员资格、长度、最小值、最大值、迭代
-
索引
序列中所有的元素都是有编号的–从0开始递增。可以通过编号分别对序列的元素进行访问。Python的序列也可以从右边开始索引,最右边的一个元素的索引为-1,想左开始递减。 -
分片
索引用来对单个元素进行访问,用分片可以对一定范围内的元素进行访问,分片通过冒号相隔的两个索引来实现。分片操作的实现需要提供两个索引作为边界,第一个索引的元素是包含在分片内的,第二个则不包含在分片内。 -
序列相加 (相同数据类型的序列相加)
列表和字符串进行相加,会出错,虽然他们都是序列,但是是不同数据类型,不能相加 -
乘法
用数字x剩以一个序列会生成新的序列,而在新的序列中,原来的序列将会被重复x次。
>>> 'python'*4
'pythonpythonpythonpython'
>>> [None]*4 #None为Python的内建值,这里创建长度为4的元素空间,但是什么元素也不包含
[None, None, None, None]
- 成员资格
可以使用in运算符来检查一个值是否在序列中,如果在其中,就返回Ture,如果不在,就返回False。
>>> permission='rw'
>>> 'r' in permission
True
>>> 'x' in permission
False
- 长度、最小值和最大值
内建函数len、min和max分别返回序列所包含的元素的数量,序列中的最小元素和序列中的最大元素。
1.列表
是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现(列表的数据项不需要具有相同的类型)。
声明:list1 = ['Google', 'Runoob', 1997, 2000];
常见函数:
(1) len(list)
列表元素个数
(2) max(list)
返回列表元素最大值
(3) min(list)
返回列表元素最小值
(4) list(seq)
将元组转换为列表
常见方法:
(1) list.append(obj)
在列表末尾添加新的对象
(2) list.count(obj)
统计某个元素在列表中出现的次数
(3) list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
(4) list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
(5) list.insert(index, obj)
将对象插入列表
(6) list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
(7) list.remove(obj)
移除列表中某个值的第一个匹配项
(8) list.reverse()
反向列表中元素
(9) list.sort( key=None, reverse=False)
对原列表进行排序
(10) list.clear()
清空列表
(11) list.copy()
复制列表
2.元组
使用小括号,列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
声明:tup1 = (‘Google’, ‘Runoob’, 1997, 2000)
tup1 = (‘Google’, ) 一个值得元组也需加逗号
tup1 = () 空元组
常见函数:
(1) len(tuple)
计算元组元素个数。
(2) max(tuple)
返回元组中元素最大值。
(3) min(tuple)
返回元组中元素最小值。
(4) tuple(iterable)
将可迭代系列转换为元组。
3.字符串
是最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串
注:需要在字符中使用特殊字符时,python用反斜杠()转义字符。
1.字符串运算符:
- + (字符串连接) 、
- ** (重复输出字符串)–其实是一个星号来的
- [] (通过索引获取字符串中字符) 、
- [ : ] (截取字符串中的一部分,遵循左闭右开原则,
- str[0:2] 是不包含第 3 个字符的)、
- in(成员运算符 - 如果字符串中包含给定的字符返回 True)、
- not in (成员运算符 - 如果字符串中不包含给定的字符返回 True ‘M’ not in a 输出结果 True)、
- r/R 原始字符串 (原始字符串:所有的字符串都是直接按照字面的意思来使用,
- 没有转义特殊或不能打印的字符)、%( 格式字符串)
2.格式化字符串:
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址
f-string:f-string 格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去
>>> name = 'Runoob'
>>> f'Hello {name}' # 替换变量
’Hello Runoob‘
>>> f'{1+2}' # 使用表达式
'3'
>>> w = {'name': 'Runoob', 'url': 'www.runoob.com'}
>>> f'{w["name"]}: {w["url"]}'
'Runoob: www.runoob.com'
3.python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符
para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
常见函数:
- count(str, beg= 0,end=len(string))
返回 str 在 string 里面出现的次数,如果 beg 或者end 指定则返回指定范围内 str 出现的次数 - capitalize()
将字符串的第一个字符转换为大写 - find(str, beg=0, end=len(string))
检测 str 是否包含在字符串中,如果指定范围 beg 和 end,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1 - index(str, beg=0, end=len(string))
跟find()方法一样,只不过如果str不在字符串中会报一个异常. - join(seq)
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 - len(string)
返回字符串长度 - lower()
转换字符串中所有大写字符为小写. - upper()
转换字符串中的小写字母为大写 - lstrip()
截掉字符串左边的空格或指定字符。 - rstrip()
删除字符串字符串末尾的空格. - strip([chars])
在字符串上执行 lstrip()和 rstrip() - isxxx() --isnumeric()、isalnum()等
4.Unicode 字符串
在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u。
在Python3中,所有的字符串都是Unicode字符串。