当前位置:文档之家› Python容器:列表、元组、字典与集合

Python容器:列表、元组、字典与集合

Python容器:列表、元组、字典与集合posts 列表 元组 字典 集合 python容器Python容器:列表、元组、字典与集合1、列表和元组2、列表2.1、使用[]或list()创建列表2.2、使用list()将其它数据类型转换成列表2.3、使用[offset]获取元素2.4、包含列表的列表2.5、使用[offset]修改列表元素2.6、指定范围并使用切片提取元素2.7、使用append()添加元素至尾部2.8、使用extend()或+=合并列表2.9、使用insert()在指定位置插入元素2.10、使用del删除指定位置的元素2.11、使用remove()删除具有指定值的元素2.12、使用pop()获取并删除指定位置的元素2.13、使用index()查询具有特定值得元素位置2.14、使用in判断值是否存在2.15、使用count()记录特定值出现的次数2.16、使用join()转换为字符串2.17、使用sort()重新排序元素2.18、使用len()获取长度2.19、使用=赋值,使用copy()赋值3、元组3.1、使用()创建元组4、字典4.1、使用{}创建字典4.2、使用dict()转换为字典4.3、使用[key]添加或修改元素4.4、使用update()合并字典4.5、使用del删除具有制定键的元素4.6、使用clear()删除所有元素4.7、使用in判断是否存4.8、使用[key]获取元素4.9、使用keys()获取所有键4.10、使用values()获取所有值4.11、使用items()获取所有键值对4.12、使用=赋值,使用copy()赋值5、集合5.1、使用set()创建集合5.2、使用set()将其他类型转换为集合5.3、使用in测试值是否存在5.4、合并及运算符6、建立大型数据结构反馈与建议1、列表和元组 大多数编程语言都有特定的数据结构来存储由一系列元素组成的序列,这些元素以他们所处的位置来索引:从第一个到最后一个依次编号。

Python的字符串本质上是由字符组成的序列。

除了字符串外,Python还有另外两种序列结构:元组和列表。

它们都可以包含零个或多个元素。

于字符串不同的是,元组和列表并不要求所含元素的种类相同,每个类型都可以是Python类型的对象。

至于Python为什么会同时设置这两种序列,是因为元组所赋值的内容是不可变的,然而列表是可变可更改的,这意味着可以随意的在列表中插入或者删除其中那个的元素。

2、列表 列表非常适合利用顺序和位置来定位某一元素,尤其是当元素的序列或内容经常发生变化时。

列表可以对原始列表进行修改:添加新元素、删除或覆盖已有元素。

列表允许相同值的元素出现多次。

2.1、使用[]或list()创建列表列表可以有多个或多个元素组成,元素之间用逗号隔开,整个列表被方括号所包裹:>>> empty_list = [ ]>>> weekdays = ['Monday','Tuesday','Wednesday','Thursday','Friday'] >>> big_birds = ['emu','ostrich','cassowary',]>>> first_names = ['Graham','John','Terry','Terry','Michagel']#列表允许重复相同的值也可以使用list()函数来创建一个空列表:>>> another_empty_list = list()>>> another_empty_list[]提示:如果你仅仅想要记录一些互不相同的值,而不在乎它们之间的序列关系,集合(set)会是一个更好的选择。

2.2、使用list()将其它数据类型转换成列表 Python的list()函数可以将其他数据类型转换成列表类型。

>>> list('cat')['c', 'a', 't']下面的例子将一个元组转换成了列表:>>> a_tuple = ['ready','fire','aim']>>> list(a_tuple)['ready', 'fire', 'aim']使用split()可以依据分隔符将字符串切割成由若干子串组成的列表:>>> birthday = '1/6/1952'>>> birthday.split('/')['1', '6', '1952']如果在待分割的字符串中包含连续的分隔符,那么在列表中就会返回空串元素:>>> splitme = 'a/b//c/d///e'>>> splitme.split('/')['a', 'b', '', 'c', 'd', '', '', 'e']如果将上面例子中的分隔符改成//会变成下面的结果:>>> splitme = 'a/b//c/d///e'>>> splitme.split('//')['a/b', 'c/d', '/e']2.3、使用[offset]获取元素和字符串一样,通过偏移量可以从列表中提取对应位置的元素:>>> marxes = ['Groucho','Chico','Harpo']>>> marxes[0]'Groucho'>>> marxes[1]'Chico'>>> marxes[2]'Harpo'同样,负偏移量代表从尾部开始计数:>>> marxes[-1]'Harpo'>>> marxes[-2]'Chico'>>> marxes[-3]'Groucho'提示:指定的偏移量对于待访问列表必须有效,该位置中的元素在访问前已经赋值,当制定的偏移量小于起始位置或者大于末尾位置时,会产生异常。

2.4、包含列表的列表列表可以包含各种类型的元素,包括其他列表:>>> small_birds = ['hummingbird','finch']>>> extinct_birds = ['dodo','','Norwegian Blue'] >>> carol_birds = [3,'French hens',2,'turtledoves']>>> all_birds = [small_birds,extinct_birds,'macaw',carol_birds]查看all_birds列表的数据结构:>>> all_birds[['hummingbird', 'finch'], ['dodo', '', 'Norwegia n Blue'], 'macaw', [3, 'French hens', 2, 'turtledoves']]访问第一个元素:>>> all_birds[0]['hummingbird', 'finch']第一个元素还是一个列表,其实第一个元素就是small_birds,也就是创建all_birds列表时设定的第一个元素,查看第二个元素:>>> all_birds[1]['dodo', '', 'Norwegian Blue']如果你想要访问extinct_birds的第一个元素,可以制定双重索引从all_birds中提取:>>> all_birds[1][0]'dodo'2.5、使用[offset]修改列表元素就像可以通过偏移量访问某元素一样,你也可以通过赋值对他们进行修改:>>> names = ['','linux','centos']>>> names[1]'linux'>>> names[1] = 'redhat'>>> names[1]'redhat'>>> names['', 'redhat', 'centos']与之前一样,列表的位置偏移量必须是合法有效的。

提示:通过这种方式无法修改字符串中的制定字符,运维字符串是不可变的。

列表是可变的,一次你可以改变列表中的元素个数,以及元素的值。

2.6、指定范围并使用切片提取元素你可以使用切片提取列表的一个子序列:>>> names = ['','linux','centos']>>> names[0:2]['', 'linux']列表的切片仍然是一个列表。

2.7、使用append()添加元素至尾部传统的向列表中添加元素的方法是利用append()函数将元素一个个添加到尾部。

>>> names = ['','linux','centos']>>> names['', 'linux', 'centos']>>> names.append('redhat')>>> names['', 'linux', 'centos', 'redhat']2.8、使用extend()或+=合并列表使用extend()可以将一个列表合并到另一个列表中:>>> os = ['unix','linux','windows']>>> mac = ['mac os']>>> os.extend(mac)>>> os['unix', 'linux', 'windows', 'mac os']也可以使用+=:>>> os = ['unix','linux','windows']>>> mac = ['mac os']>>> os += mac>>> os['unix', 'linux', 'windows', 'mac os']如果错误地使用了append(),那么mac会被当成一个单独的元素进行添加,而不是将其内容进行合并:>>> os = ['unix','linux','windows']>>> mac = ['mac os']>>> os.append(mac)>>> os['unix', 'linux', 'windows', ['mac os']]2.9、使用insert()在指定位置插入元素append()函数只能将新元素插入到列表的尾部,而是用insert()函数可以将元素插入到列表中的任意位置中。

相关主题