Python中的数据结构较传统语言(C/C++/JAVA)的区别

@spiritree  September 11, 2016
  • list和tuple数据类型

list是有序的集合,可以随时添加删除元素。
tuple和list的区别是一经初始化元素无法更改。

list:L = ['Hello', 'World']
tuple:L = ('Hello', 'World')

由于list是可变集合所以可以用list自带的方法来进行操作
如:L.append('OK')则在L最后位置增加‘OK’
得到L = ['Hello', 'World', 'OK']

当热也可以定位插入元素,运用insert方法
L.insert(1, 'second')则在index = 1的位置插入。

删除指定位置的元素则是用L.pop(i)方法(i = index)

获得集合的长度则用len(L)方法


  • dict和set数据类型

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

dict:d = {'a': 95, 'b': 75, 'c': 85}
d['a']>>95

dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value。
d.get('d', 65)>>65
然而这并不代表d增加了{'d',65}


set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

>>> s = set([1, 1, 2, 2, 3, 3])
>>> s = {1,2,3}
set是数学中集合的概念

Python的for循环抽象程度要高于Java的for循环,因为Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。

>>> d = {'a': 1, 'b': 2, 'c': 3}
for key in d:
print(key)
a
c
b

实例的变量名前加上两个下划线__,那么这个变量就变成私有(private)的。


添加新评论