
一、在关于数据结构的相关讨论里面, 列表和元组都是属于其中很重要的一部分内容。序列是在计算机程序中最为基本的那种数据结构。在序列里面, 每一个元素都会被分配一个数字, 这个数字就叫做位置或者也叫做索引。要知道第一个元素的索引是0, 第二个元素的索引是1, 后面的元素依此类推下去, 索引值也跟着依次增加, 这是大家都非常清楚的一个设定。存在六种属于内置类型的序列, 不过在日常生活中应用最为广布的种类就是列表类型与元组类型这两种。对于这些序列而言, 大家都能进行一系列操作, 比方说获取索引、执行切片处理, 以及进行相加或相乘的运算, 还有检查是否包含特定成员。另外, 针对序列的长度已经有了相关的确定方法, 同时还有办法能够来确定其中最大的那个元素以及最小的那个元素。列表是现在最常用的一种数据类型, 它表现为一种结构, 这种结构的内部包含由逗号隔开的一系列数值, 而这些数值全部被放在一个方括号里面。对于列表中的数据项这些方面的事情来说, 它们并不需要具有相同的类型, 这点是明确的。想要创建一个列表的话, 你只要把那些以逗号来进行分隔的、并且彼此是不同的数据项, 然后用方括号把它们给括起来就可以了。如下所示:L1 [1, 2, 3, 4, 5]L2 [a,b,c,d]你可以就直接根据那个列表里的顺序, 然后去把一个值给加进去。人们是能够通过去使用del这个语句的方式, 来把列表当中所包含的那些元素给删除掉的。以下面的这些实例内容, 就是对此的一个具体的例子说明:list1 [physics,chemistry, 1997, 2000]printlist1dellist1[2]printAfter deleting value at index 2 :printlist1输出结果为[physics,chemistry, 1997, 2000]After deleting value at index 2:[physics,chemistry, 2000]你可以对列表里面那一个又一个的数据项进行修改或者更新同时, 你也能够使用括号所包围着的那个方法来进行添加列表项这一动作的完成, 具体呈现的形式就是下面所展示出来的这一些内容。list []## 空列表list.append(Google)## 使用 append() 添加元素list.append(Runoob)printlist输出结果为[Google,Runoob]那个元组, 它和列表是类似的, 不过不一样的地方在于, 元组的元素是不允许被修改的。元组使用小括号列表使用方括号。其实呢就是要把那个元组给创建出来, 这个过程是非常的简单的, 大家只需要用括号把这个元素给它加进去哦, 而且呢最后还要记得使用逗号把这些东西一个一个都给隔开着。就像下面的这些例子一样。tup1 (physics,chemistry, 1997, 2000)tup2 (1, 2, 3, 4, 5)tup3 a,b,c,dtup1 (physics,chemistry, 1997, 2000)tup2 (1, 2, 3, 4, 5, 6, 7)printtup1[0]:, tup1[0]printtup2[1:5]:, tup2[1:5]输出结果如下tup1[0]: physicstup2[1:5]: (2, 3, 4, 5)2.字典字典其实也是另一种能够变来变去的容器模型呢, 它还允许咱们在里面存下各种各样不同类型的对象。在这个字典的每一个\*keyvalue\* 这样的键值对当中, 都是用一个冒号 :*: 来进行分割。而每一个键值对彼此之间, 则是用一个逗号 , 来分开。并且整个这个字典, 它的全范围内容都被包括在一对花括号 {} 里面。整体的情况, 格式看起来就像是下面所展示的这个样子:d {key1 : value1, key2 : value2 }一旦遇到了键值相同的情况, 那么最终的结果就是以后面出现的那个作为标准。dict {a: 1,b: 2,b:3} dict[b]3dict{a: 1,b:3}dict {Name:Zara,Age: 7,Class:First}printdict[Name]:, dict[Name]printdict[Age]:, dict[Age]输出结果为dict[Name]: Zaradict[Age]: 7向字典添加新内容的方法是增加新的键/值对修改或删除已有键/值对如下实例:dict {Name:Zara,Age: 7,Class:First}dict[Age] 8#更新dict[School] RUNOOB#添加printdict[Age]:, dict[Age]printdict[School]:, dict[School]输出结果为dict[Age]: 8dict[School]: RUNOOB二、函数函数是一部分组织好的代码段, 这一部分代码段的功能是单一的, 或者是相关联的, 并且它的优点是可以重复使用。函数能够提升应用的模块化程度, 还能够让代码得到更为充分的重用。你已经知晓系统中提供了诸多内建的函数, 好比说那用来打印输出的print()函数。同时你也明白, 你自身也能够去创建属于你自己专用的函数, 这种被专门命名为用户自定义的函数方式, 在实际操作中是非常普遍且重要的。函数代码块是使用 def 这个关键词来作为开头的, 紧接着写上函数的标识符名以及一对小圆括号, 所有传入的参数还有自变量都必须安放在这组小括号里面, 而在小括号的内部是可以用来定义参数的内容的, 函数里面的第一个语句可以选择性地加入一个文档字符串, 这个文档字符串的用处是用来存放关于该函数的说明内容接着函数的实际内容是以冒号符号开始的, 并且后续的每一行都要保持缩进的状态。表达式当这个函数结束运行之后, 它会选择性地往那个调用它的人手里返回一个数值, 要是没有写任何表达式的化, 这情况跟直接返回那些个None是一模一样的。deffunctionname( parameters ):函数_文档字符串function_suitereturn[expression]其实就是为一个函数规定了一些事项, 其中事情之一是为这个函数取个名字, 另外一个是把这个函数里面需要用的参数给确定下来, 还有一个就是把代码块的大致结构给弄好。这个函数的基本结构在完成以后, 你能够通过另一个进行调用来执行操作, 也可以直接从那个提示符去执行。下面的这个情况里面, 用了这个函数:#定义函数defprintme( str ):打印任何传入的字符串printstr;return;#调用函数printme(我要调用用户自定义函数!);printme(再次调用同一函数);输出结果为我要调用用户自定义函数!再次调用同一函数