大年初一,在这儿给大家拜年了!新年新气象,趁着一股新劲我先来一发。
接着年前的内容,我们认识了Python的字符串,它可以方便的表达出我们对这世界的感情,下面我们来学习字符串的同胞兄弟——功能更强大的列表和元组。
如果你想调查一下美国超级英雄们的信息,首先你就会准备一张表格来收集得到的资料,紧接前面的内容,我们可以用字符串表达出来:
>>>Hero_List = "Super Man, Bat Man, Green Lightern, Flash, Hawk Girl, Spider Man, Captain America"
>>>print(Hero_List)
之后,便会清晰地列出你表单的英雄名字。有时候我们只是需要表单的一项内容,比如,单独调出“Bat Man”,当然字符串是做不到的,只能依靠列表来完成如此灵活的工作。
>>>Hero_List = ["Super Man", "Bat Man", "Green Lightern", "Flash", "Hawk Girl", "Spider Man", "Captain America"]
其表达方式与字符串差不多,只是变成了两边的中括号加上中间的单个字符串内容。列表的用法十分灵活,我们可以指出其中的单个元素的地址单独做处理,也可以嵌套使用或进行元素改变(替换或删除),和C语言的数组有些类似。
例如,我要把“Flash”单独打印,只需制定该元素在列表中的位置,也就是输出第四个元素(一般第一个元素都是第零个,然后依次类推):
>>>print(Hero_List[3])
我们也可以抽出其中连续的几个:
>>>print(Hero_List[2:5])
用冒号表示输出第几到第几个之间的连续元素,这里我们抽出了"Green Lightern", “Flash”, “Hawk Girl”,注意,最后一个元素是不包括的。
在列表中要添加几个新选项,就要用到append函数,删除就是del 命令。
>>>Hero_List.append("Iron Man")
>>>del Hero_List[6]
我们添加了钢铁侠,而把美国队长删除了。
列表可以同时容纳字符、字符串等作为元素,也可以包含其它列表进行作业,它支持自身的乘法和彼此之间的加法,不支持减法和除法。
>>>print(5*Hero_List[0])
其结果是输出五个“Super Man”。
>>>List = [1,2,3,4]
>>>print(Hero_list + List)
其结果是输出Hero_List列表和List列表的共同结果。
嗯,列表的基本内容就是这些,接下来再来认识一下元组。
元组确实是列表的同胞兄弟,其形式只是把列表的中括号变成了小括号。
>>>List = (1,2,3,4,0,"Super Man")
>>>print(List)
用法和列表相似,但最大的不同是一旦输出就不能再改变其中的元素了。它的出现为的是封装某些数据不被改动,具有数据的保护作用。
最后,还有一位重要的成员需要认识,那就是Python的字典(map)。它的出现是为了建立表格一样的数据结构,方便用户能像查阅字典一样寻找数据,其结构相对于列表多用了分号字符并且换成了大括号。
>>>Hero_List = {"Super Man":"DC Company", "Spider Man":"DC Company","Iron Man":"Marvel Company"}
字典中的每个元素都由一个键(Key)和一个值(Value)组成,我们要索引的就是其中的键,通过该数据结构就会在大量信息堆里快速找到目标元素了。超人对应DC公司,钢铁侠对应着漫威公司等等。
字典的用法和列表也是相同的,可以利用键值删除和替换,但不能进行字典之间的加法操作,因为没有任何意义。
本章的最后给出了几道测试题,还是很简单的,不如趁热先打下铁吧!
1.把你的爱好列出来,并把这个列表起个变量名games。现在把你喜欢的食物列出来,起个变量名为foods。把这两个列表连在一起并把结果命名为favorite。最后打印出来。
2.如果有三个建筑,每座的房顶藏有25个忍者,还有2个地道,每个地道里藏有40个武士,那么一共有多少个忍者和武士。
3.创建两个变量:一个指向你的姓,一个指向你的名。创建一个字符串,用占位符使用这两个变量来打印带有你名字的信息,比如“你好, 郑佳怡!”