牛逼!Python常用数据类型的基本操作(长文系列第①篇)(一)

长文预警!Python基础系列会将基础内容大致分为三到五个板块,每篇文章着重讲一方面,知识不会很难,主要是以小例子的形式解读,如果你已经入门Python,希望可以帮你温习一下;如果你想入门Python,希望可以帮你越过这个门槛。

Python原生数据类型主要有Number、String、Byte、Boolean、None、List、Tuple、Set、Dict这九种,这篇文章主要讲一下字符串、列表、元祖、集合、字典这五种,剩下的四种大家可以自己了解一下。

字符串

初始化一个字符串,方便后面在字符串上做一些操作。

In [5]: s1 = 'naitangmao'
In [6]: s1

Out[6]: 'naitangmao'

字符串的索引,需要注意的是索引下标从0开始。

In [9]: s1[2]
Out[9]: 'i'

字符串的切片,以冒号分隔首尾索引位置,是[start:end]结构,注意不包含end对应元素;冒号左边不写入索引表示从头开始,同理右边不写入索引表示截取到字符串末尾。

In [8]: s1[:3]#从0开始,0,1,2三个索引
Out[8]: 'nai'

还可以利用切片结合负索引实现翻转字符串。

In [35]: s1[::-1]
Out[35]: 'oamgnatian'

利用加法实现合并字符串。

In [49]: print('ab'+'%'+'cd')
ab%cd

查找,利用find方法查询元素时,会返回在字符串第一次出现的下标,未找到会返回-1。

In [11]: s1.find('a')
Out[11]: 1

替换,replace可以实现字符串中元素的替换,比如将'tang'替换成空格。

In [13]: s1.replace('tang',' ')
Out[13]: 'nai mao'

去空格,使用strip方法可以删除一个字符串首尾的空格,然后也支持指定要删除内容。

In [23]: s2 = '   aaabbbccc   '
In [24]: s2
Out[24]: '   aaabbbccc   '

In [25]: s2.strip()
Out[25]: 'aaabbbccc'

In [26]: s2 = s2.strip()
In [27]: s2.strip('a')#可以指定删除首尾的元素
Out[27]: 'bbbccc'

切割,split方法可以根据元素切割字符串,并存入列表;如果不输入参数,会直接将原字符串存入列表。

In [30]: s1 = 'naitangmao'
In [31]: s1.split('t')
Out[31]: ['nai', 'angmao']

In [32]: s1.split()
Out[32]: ['naitangmao']

判断一个元素是否存在于字符串中。

In [37]: 'nai' in s1
Out[37]: True

分隔,利用join方法可以将一个字符串作为分隔符,分隔另一个字符串。

In [38]: s1.join('!!!')
Out[38]: '!naitangmao!naitangmao!'

利用%向字符串中传入参数,%s传入字符串、%d传入整数、%f传入浮点数,且可以控制小数点后的位数。

In [40]: print('naitangmao是%s!' % '靓仔')
naitangmao是靓仔!
In [41]: print('naitangmao %d '% 66)
naitangmao 66
In [44]: print('naitangmao %.2f'% 3.1415)
naitangmao 3.14

也可以利用format向字符串中传入参数,且不需要在意参数类型。

In [46]: '{0}ai{1}ang{2}ao'.format('n','66','3.14')
Out[46]: 'nai66ang3.14ao'

利用反斜杠对字符串进行转义。

In [47]: print('\t')

In [48]: print('\\t')
\t


上一篇:Python骚操作!你还在用PS制作电子签名吗?


下一篇:如何在Windows系统上使用Object Detection API训练自己的数据?