一:元组
元组与列表的最大区别在与元组的第一及元素不可更改,故元组更多的用在安全性要求高与不可更改数据的情况更多。
元组主要有两个方法分别为index()与count(),作用于列表的index()和count()一样,这里不再阐述。
tuple()函数强制把数据转为元组并赋值给新的变量。
>>> li [1, 8, 2, 1, 'louis', 'hello', 'ok'] >>> tu=tuple(li) >>> tu (1, 8, 2, 1, 'louis', 'hello', 'ok')
二:字典
字典类似于其他编程语言的数组。
①:删除pop()、clear()、popitem()
clear()与列表的功能一样,这里不再阐述
pop(self,k[,d=none])
>>> d {'key1': 'vel1', 'key2': 'vel2', 'key3': 'vel3'} >>> d.pop("key1") 'vel1' >>> d.pop("key10") Traceback (most recent call last): File "<pyshell#131>", line 1, in <module> d.pop("key10") KeyError: 'key10' >>> d.pop("key10","123") '123' >>>
以上代码可知pop()方法,会返回被删除的元素值,k的值如果不存在会报错,但可以通过设置d的参数来返回默认值
popitem()
>>> d={'key1': 'vel1', 'key2': 'vel2', 'key3': 'vel3'} >>> d.popitem() ('key3', 'vel3')
>>> d
{'key1': 'vel1', 'key2': 'vel2'}
有上代码可知,popitem()方法默认删除最后一个元素,并返回键值对。
②:复制方法copy(),该方法与列表的一致
③:创建新字典fromkeys()方法
>>> dict= dict.fromkeys(("baidu","sogo","360"),"www") >>> dict {'baidu': 'www', 'sogo': 'www', '360': 'www'}
备注,后面的值为可选,默认为空,且该值只能有一个。
④:获取字典数据get()、setdefault()
get(self,k,d=none)
>>> dict {'baidu': 'www', 'sogo': 'www', '360': 'www'} >>> dict.get("baidu") 'www' >>> dict.get("google") >>> dict["google"] Traceback (most recent call last): File "<pyshell#164>", line 1, in <module> dict["google"] KeyError: 'google' >>> dict.get("google","google") 'google' >>>
由上带吗可知,get方法能够规避获取字典的数据不存在是可放回none或指定值,从而避免程序报错。
setdefault(self,k,d=none)
>>> dict {'baidu': 'www', 'sogo': 'www', '360': 'www'} >>> dict.setdefault("baidu") 'www' >>> dict.setdefault("google","google") 'google' >>> dict {'baidu': 'www', 'sogo': 'www', '360': 'www', 'google': 'google'}
由上代码可知setdefault()方法与get()方法类似,不同之处在于,当获取的键值不存在是会在字典内新建对应键值。
⑤:获取所有键值,items()、keys()、values()
>>> dict.keys() dict_keys(['baidu', 'sogo', '360']) >>> dict.items() dict_items([('baidu', 'www'), ('sogo', 'www'), ('360', 'www')]) >>> dict.keys() dict_keys(['baidu', 'sogo', '360']) >>> dict.values() dict_values(['www', 'www', 'www'])
以上三种方法获取到的值可和list()函数配合使用,取出该值。
⑥:字典更新update()
>>> dict {'baidu': 'www', 'sogo': 'www', '360': 'www', 'google': 'google'} >>> dict.update({"baidu":"baidu.com"}) >>> dict {'baidu': 'baidu.com', 'sogo': 'www', '360': 'www', 'google': 'google'} >>> dict.update({"yahoo":"yahoo.com"}) >>> dict {'baidu': 'baidu.com', 'sogo': 'www', '360': 'www', 'google': 'google', 'yahoo': 'yahoo.com'} >>>
由上代码可知,update()方法,当键值存在则更新对应值,否则在字典后追加新的键值对应关系。