[Python]B05─资料结构(data structure)

Hi! 大家好,我是Eric,这次教大家Python的资料结构(data structure)!
http://img2.58codes.com/2024/emoticon78.gif


■ 资料结构(data structure)

Python具有下列4种资料结构:列表(List)。有序集合元组(Tuple)。不可变的有序集合字典(Dict)。无序的键值对映集合(Set)。无序且唯一

■ 列表(List)

L = [1,5,6]len(L)               #列表长度L.append(10)         #在列表尾端新增元素L + [13,15]          #与其它列表串接sort(L)              #排序L = [5,"abc",3.14,[0,4,6]]    可包含任何型别的物件,具有高灵活性
列表索引与切片
L = [2,3,5,7,11]L[0]         #索引,取得单一元素L[-1]        #可由尾端向前访问,-1代表最后一个元素L[-2]L[0:3]       #切片,0为起点(包含),3为终点(不包含)。可一次取得多个元素,等同L[:3]L[-3:]       #若省略后面的索引值,预设为列表的长度L[::2]       #可用第3个索引值表示为步长,取得间隔为2的元素们,等同L[0:len(L):2]L[::-1]      #可将列表反转L[0] = 100   #可改变列表中的元素

■ 元组(Tuple)

各方面与列表很像,但一旦建立后是不可变的:
t = (1,2,3)t = 1,2,3         #可不用括号表示len(t)t[0]t[0] = 4          #将会出错  t.append(10)      #将会出错
tuple经常用于Python中,最常见的是函式返回多个值:
x = 0.125x.as_integer_ratio()    #as_integer_ratio()可回传浮点数对应的分子与分母,而回传值就是tuplenumerator, denominator = x.as_integer_ratio()    #可以分别独立赋值print(numerator / denominator)
tuple也跟列表一样,具有索引及切片的功能
x = 0.125x.as_integer_ratio()    #as_integer_ratio()可回传浮点数对应的分子与分母,而回传值就是tuplenumerator, denominator = x.as_integer_ratio()    #可以分别独立赋值print(numerator / denominator)

■ 字典(Dict)

字典为非常灵活的键值对,不具顺序性,形式为(key:value):
number = {"one":1, "two":2, "three":3}number["two"]             #索引访问字典中的元素,但索引值是有效的字典索引键,非数字number["nine"] = 90       #可用索引来新增元素

■ 集合(Set)

可使用数学集合相关的操作,如下:
prime = {2,3,5,7}odds = {1,3,5,7,9}      primes | odds     #联集,等同primes.union(odds)primes & odds     #交集,等同primes.intersection(odds)primes - odds     #差分,等同primes.difference(odds)primes ^ odds     #对称差分,只出现在一个集合的元素,等同primes.symmetric_difference(odds)
Python还有其他许多数据结构,可参考内建的collection套件

■ Refer to《Python 旋风之旅,[正体中文]Will保哥》的第7章


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章