目录
3.元组形式或者列表中嵌套的元组的形式都可以转换成字典,因为要保持不可变性。
9.setdefault()方法没有建则创建字典项,有则不更新
Python原生数据类型主要有Number、String、Byte、Boolean、None、List、Tuple、Set、Dict这九种,这篇文章主要讲一下字符串、列表、元祖、集合、字典这五种,剩下的四种大家可以自己了解一下。
回到顶部
字符串
1.初始化字符串
初始化一个字符串,方便后面在字符串上做一些操作。
In [5]: s1 = 'naitangmao'
In [6]: s1
Out[6]: 'naitangmao'
2.字符串的索引
字符串的索引,需要注意的是索引下标从0开始
In [9]: s1[2]
Out[9]: 'i'
3.字符串的切片
字符串的切片,以冒号分隔首尾索引位置,是[start:end]结构,注意不包含end对应元素;冒号左边不写入索引表示从头开始,同理右边不写入索引表示截取到字符串末尾。
In [8]: s1[:3]#从0开始,0,1,2三个索引
Out[8]: 'nai'
4.结合负索引实现翻转字符串
还可以利用切片结合负索引实现翻转字符串。
In [35]: s1[::-1]
Out[35]: 'oamgnatian'
5.利用加法实现合并字符串。
In [49]: print('ab'+'%'+'cd')
ab%cd
6.find方法查询元素
查找,利用find方法查询元素时,会返回在字符串第一次出现的下标,未找到会返回-1。
In [11]: s1.find('a')
Out[11]: 1
7.替换,replace
替换,replace可以实现字符串中元素的替换,比如将'tang'替换成空格。
In [13]: s1.replace('tang',' ')
Out[13]: 'nai mao'
8.去空格,使用strip
去空格,使用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'
9.切割,split方法
切割,split方法可以根据元素切割字符串,并存入列表;如果不输入参数,会直接将原字符串存入列表。
In [30]: s1 = 'naitangmao'
In [31]: s1.split('t')
Out[31]: ['nai', 'angmao']
In [32]: s1.split()
Out[32]: ['naitangmao']
10.判断一个元素是否存在于字符串中。
In [37]: 'nai' in s1
Out[37]: True
11.分隔,利用join方法
分隔,利用join方法可以将一个字符串作为分隔符,分隔另一个字符串。
In [38]: s1.join('!!!')
Out[38]: '!naitangmao!naitangmao!'
12.利用%向字符串中传入参数
利用%向字符串中传入参数,%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
13.利用format向字符串中传入参数
也可以利用format向字符串中传入参数,且不需要在意参数类型。
In [46]: '{0}ai{1}ang{2}ao'.format('n','66','3.14')
Out[46]: 'nai66ang3.14ao'
14.反斜杠对字符串进行转义
利用反斜杠对字符串进行转义。
In [47]: print('\t')
In [48]: print('\\t')
\t
回到顶部
列表
1.始化一个列表
同样初始化一个列表,然后方便对列表做一系列操作。
In [52]: list1
Out[52]: [1, 3, 5, 7, 9, 11]
2.列表的索引
首先同样是列表的索引,列表也支持负索引。
In [53]: list1[2]
Out[53]: 5
In [55]: list1[-2]#负索引
Out[55]: 9
3.带有间隔的切片
再拓展一下带有间隔的切片,字符串同样适用,就是在end之后再加上一个双引号,用来写入切片的间隔,这才是切片最完整的结构。
In [58]: list1[0:6:2]
Out[58]: [1, 5, 9]
4.ndex方法获取索引
利用index方法可以获取某个元素在列表中的位置索引,未找到的则会报错。
In [60]: list1.index(3)
Out[60]: 1
5.join方法合并为字符串
用join方法将列表中的各个元素合并为字符串。
In [121]: list1 = ['a','b','c']
In [122]: ''.join(list1)
Out[122]: 'abc'
6.count方法可以统计一个元素在列表中出现的次数
In [63]: list1.count(5)
Out[63]: 1
7.enumerate可以直接获取列表的索引和对应元素。
In [133]: index_ = []
In [134]: value_ = []
In [135]: for i,v in enumerate(list1):
...: index_.append(i)
...: value_.append(v)
In [136]: index_
Out[136]: [0, 1, 2, 3, 4]
In [137]: value_
Out[137]: [3, 1, 4, 2, 5]
8.利用zip方法合并两个列表。
In [139]: list3 = list(zip(index_,value_))
In [140]: list3
Out[140]: [(0, 3), (1, 1), (2, 4), (3, 2), (4, 5)]]
9.扩大列表的四种方法:
- 1、append:将一个元素添至列表尾部
- 2、insert: