原创文章,欢迎转载。转载请注明:转载自 祥的博客
原文链接:http://blog.csdn.net/humanking7/article/details/45276769
Python常用的组合数据类型
1.序列类型
1.1. 列表:使用[]创建,是可以变的(改了内容后id不变),支持修改,不同于字符串和整型。如:
>>list1 = ["This","is","a","pig","."]
>>list1[0]
>>'This'
>>list1[0][0]
>>'T'
1.2.元组:使用()创建,不可以变,除此之外和列表没什么区别。如:
>>t1 = ("This","is","a","pig",".")
>>t1[0]
>>'This'
>>t1[0][0]
>>'T'
1.3.字符串:也属于序列类型,而且可以进行切片操作。
>>name = 'jerry'
>>name[0]
'j'
>>name[0:1] #后面位置不显示
'j'
>>name[0:2]
'je'
>>name[:2] #从0开始,如果不写
'je'
>>name[2:] #到结尾,如果不写
'rry'
>>name[0:4]
'jerr'
>>name[0:4:2] #第3个数字表示了步进长度为2
'jr'
注意:切片本身会创建新的内存对象,因为字符串本身不可变,所以切的片本身就是新的对象了。原片本身没有发生任何改变。
2.集合类型:
集合:一段数据杂乱无章的放在一起,没有次序的概念,也会去掉重复的数据
3.映射类型:
字典:有点类似键值对,k-v集合
>>dic1 = {'x':32, 'y':27.49, 'z':65}
>>dic1['x']
32
>>dic2 = {1:32, 2:27.49, 3:65}
>>dic2[2]
27.49
>>print "%(x)-10d %(y)0.3g" %dic1 #print用法见后面
32 27.5
注意:
- 字典是可变对象,元组是不可变序列。
- 组合数据类型也是对象,因此其可以嵌套,如:[ ‘hello’, ‘world’, [1,2,3] ]
- 实质上,列表和元组并不是真正存储数据,而是存放对象引用
- 元组,列表以及字符串等数据类型是“有大小的”,也即,其长度可以使用内置函数len()测量
- Python对象可以具有其可以被调用的特定“方法(函数)”
- 列表中的append()方法可用于为其补充新的元素