首页 > 代码库 > 数据类型比较总结

数据类型比较总结

1. 有序的,有索引,可切片的:

  有序的,有索引,可切片的:str,list,tuple

 无序的,无索引,不可切片的:dict ,set ,但是可以dict[‘key‘]=values

2.是否可迭代的:

hasattr( —iter—)有此方法的,list,tulpe,dict,set 有,int,str没有

但是有的说str是可迭代的,我也觉得是,因为list的extend()方法,参数应该是可迭代的,但是str做参数时也可以,说明str是可迭代的?

总结:可迭代的:str,list,tuple,dict,set

3.是否可以原地修改,可变的:

 注意原地两字

 1   >>> a=  asdf 
 2   >>> a.strip()
 3   asdf
 4   >>> a
 5    asdf  #字符串没有变,所以str不能原地修改
 6   >>> 
 7   >>> 
 8   >>> a=[1,2,3,4]
 9   >>> a.append(5)
10  >>> a
11  [1, 2, 3, 4, 5] #列表可原地修改
12  >>> 
13 >>> 
14  >>> a={1:1, 2:2, 3:[6,7,8]}
15  >>> a[3].append(9)16  
17  >>> a
18  {1: 1, 2: 2, 3:[6,7,8,9]} #字典可以原地修改
19  >>> 特别说明,dict的键必须是不可修改的,dict的值可原处修改,而且字典的键应该是不可变的,也就是键不可是list,dict和部分set,可以是int,str,tuple,部分set

总结:不可原地修改,不可变的是:int,str,tuple,

           可原地修改的,可变的是:list,dict,

注意:set特殊,有的可以原地修改可变,有的不可以

http://www.lai18.com/content/384857.html 老齐的set讲解

数据类型比较总结