长文预警!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