您的位置:首页 > 编程语言 > Python开发

Python基础知识点(一)

2019-03-14 00:12 78 查看

先从序列讲起

在Python中最基本的数据结构为序列,序列中每个元素都有编号,其位置即为索引。那什么是数据结构呢,数据结构就是以某种方式组合起来的数据元素集合,在Python中内置了许多序列包括字符串,列表、元组。

序列的通用操作

有几种操作适用于所有序列,包括 索引,切片,相加,相乘和成员资格检查 另外。Python还提供了一些内置函数,可以用于计算序列长度并求出序列中最大最小元素

索引
>>>a = 'hello'
>>>a[2]
'l'

可使用索引获取元素,对于a[2]还有一种表达方式:

>>>a[-3]
'l'

使用负数进行索引时,Python从右往左数,-1是第一个元素的位置
对于字符串字面量可直接进行索引操作:

>>>'hello'[1]
'e'
切片

使用切片可获取一定范围内的元素例如:

>>> s = [1,2,3,4,5,6,7]
>>>s[1:3]
[2,3]

切片由两个索引提供范围,在实际返回数值过程中第二个索引的指定的元素不包括在切片内
python对于切片中两个索引也是有一定要求的例如

>>>s[-3:0]
[]

为什么会出现这种情况呢原因是在执行切片操作时,如果第一个索引所指定的元素位于第二个索引所指定元素后面结果就是空序列
另外,当切片结束于序列开头或结尾是可以省略开头或结尾的索引,例如:

>>>s[:3]
[1,2,3]

在切片操作时还有一个参数,即步长
例如:

>>>s[::4]
[1,5]

第三个参数的意思就是步长,步长为4的意思是隔三个元素提取一个,步长不能为零,但可以为负,为负的意思是从右向左提取元素例如:

>>>s[::-4]
[7,3]

特别注意的是 __当步长是负数时索引序号不变,只是切片时注意第一个索引必须大于第二个索引即第一个索引必须位于第二个索引后面例如:

>>>s[4:1:-1]
[5,4,3,2]
序列的加法

序列拼接可用加法来实现
例如:

>>>[1,2,3]+[4,5,6]
[1,2,3,4,5,6]
>>>'hello'+'world'
'helloworld'

特别注意的是 序列拼接只能是相同类型如果不同类型间使用加法进行拼接就会出错
例如:

>>>[1,2,3]+'hello'
TypeError
序列的乘法

序列的乘法表示的是将这个序列重复n次 例如:

>>>'s'*5
'sssss'
>>>[2]*10
[2,2,2,2,2,2,2,2,2,2]
成员资格

检查特定的值是否包含在序列中,例如:

>>>s=[1,2,3,4,5,6]
>>>1 in s
True
长度 ,最大值,最小值

获取序列的长度,最大值,最小值是通过内置函数len,min和max函数实现的例如:

>>>s = [1,2,3,4]
>>>len(s)
4
>>>max(s)
4
>>>min(s)
1

字符串

作为序列,所有的序列操作都适用于字符串,另外 字符串是不可变的,所以赋值操作都是非法的 例如:

>>>h = 'hello'
>>>h[2] = 'e'
TypeError: 'str' object does not support item assignment
字符串格式

替换字段
对字符串调用方法format
例如:

>>>“{ } { a } { } { b }”.format(1,2,a=3,b=4)
'1324'
>>>"{1}{a}{0}{b}".format(1,2,a=3,b=4)
'2314'

基本转化
可以指定要转换成哪种类型例如:

>>>"The number is{a}".format(a=2)
'The number is 2'
>>>“The number is{a:b}”.format(a = 2)
'The number is 0010'
常用指定类型
类型 含义
b 二进制数
c 解读为unicode码点
d 默认为十进制数处理
e 科学计法表示小数
E 与e相同
f 小数表示为定点数

宽度,精度和千分位分隔符
在格式说明中指定宽度和精度,例如:

>>>"{n:5}".format(n=2)
'    2'

用逗号指出要指定的千位分隔符,放在宽度与表示精度的句点之间

>>>"one googl is {:,}".format(1000000)
'one googl is 1,000,000'

符号,对齐和用零填充

>>>"{:010.2f}".format(pi)
'0000003.14'

指定左对齐,右对齐和居中分别使用<,>,^
例如:

>>>print('{0:<10.2f}\n{0:^10.2f}\n{0:>10.2f}'.format(pi))
3.14
3.14
3.14

也可使用指定字符填充

>>>“{:$^15}”.format("  win  big  ")
’$$$  win  big   $$$‘
>>> "{{:{}}}".format(12)
'{:12}'

字符串方法

center

方法center通过在两边添加填充字符(默认为空格)让字符串居中

>>>"hello".center(11)
'   helo   '
find

在字符串中查找子串,若找到返回子串第一个字符的索引,否则返回-1

>>>“hello”.find('ll')
2
>>>“hello”.find('lp')
-1

还可指定搜索起点与终点

>>>“heloo”.find('lo',1,4)
2
join

用于合并序列元素,与split相反

>>>'+'.join(['2','3'])#合并成一个字符串列表
'2+3'

所合并的元素必须都是字符串

lower

返回字符串的小写版本,例如:

>>>"HYlou".lower()
'hylou'

__.title__方法用于把词首变为大写

replace

将指定子串都替换为另一个字符串并返回替换后的结果

>>>“I Love j”.replace('j','you')
'I Love you'
split

将字符串拆分

>>> '1+2+3+4+5'.split('+')
['1','2','3','4','5']

返回数列

strip

字符串开头和末尾的空白(不包括中间的空白)删除,并返回删除后的结果

>>>"  hello   ".strip()
'hello'

还可指定想删除的元素

translate

可进行单字符替换,可同时替换多个字符

>>>table = str.marktrans('cs','kz')#将字符c,s分别替换为k,z
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: