在上一篇我说过,类似列表这样能够表示序列的类型不止一种,还有字符串和元组。
像列表那样操作字符串
示例:
>>> mystr='我爱你我滴祖国' >>> mystr '我爱你我滴祖国' >>> mystr[1] '爱' >>> len(mystr) 7 >>> mystr[len(mystr)-1] '国' >>> mystr[1]='耐' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment >>> qiepian=mystr[2:4] >>> qiepian '你我' >>> '你' in mystr True >>> '力' in mystr False >>> for item in mystr: ... print(item) ... 我 爱 你 我 滴 祖 国
说明:字符串类型不允许被重新赋值,这一点可和列表不一样,类似地remove()、insert()、append()可都不适用于str类型了
示例:
>>> mystr '我爱你我滴祖国' >>> mystr.append('呵呵') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'str' object has no attribute 'append' >>> mystr.insert('宝宝') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'str' object has no attribute 'insert' >>> mystr.remove('我') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'str' object has no attribute 'remove' >>> mystr '我爱你我滴祖国'
说明:通过上面的程序验证,我们称字符串这种序列里面的值不能被重新赋值的类型称为不可变类型、列表属于可变类型。
另一种不可变数据类型:元组
概念:列表于元组十分相似,元组使用(value1,value2,value3,...valuen)表示;列表使用[value1,value2,value3,...valuen]。列表属于不可变数据类型。
元组类型的英文名:tuple
示例:
>>> (1,2,3,4) (1, 2, 3, 4) >>> mytuple=(1,2,'bobo','lele') >>> mytuple (1, 2, 'bobo', 'lele') >>> type(mytuple) <class 'tuple'> >>> mytuple[1] 2 >>> 'bobo' in mytuple True >>> newtuple=mytuple[2:] >>> newtuple ('bobo', 'lele') >>> type(newtuple) <class 'tuple'>
使用list()函数和tuple()函数进行类型转换
示例:
>>> mytuple (1, 2, 'bobo', 'lele') >>> namelis ['aonier', 'kobe', 'lele', 'michael', 'xiaopeng'] >>> ntuple= tuple(namelis) >>> ntuple ('aonier', 'kobe', 'lele', 'michael', 'xiaopeng') >>> nlis=list(mytuple) >>> nlis [1, 2, 'bobo', 'lele']
Thats All !!!