Python学习笔记8——列表、字典、元

发布时间:2019-03-08 20:26:29编辑:auto阅读(1974)

    参考书籍:《Learning_Python_5th_Edition.pdf》,一本英文书呢,我上传到百度网盘吧,请点击这里,密码是:kym3

    Lists 列表

    The Python list object is the most general sequence provided by the language. 最常用,sequence指序列,positionally ordered collections,按顺序(位置)地对象的集合,字符串string也是一种序列。列表python中已经是一个定义好的类。

    如:

    nl = [1,2,5,3,5]  # nl是就是类list的一个对象,中括号[],列表的元素可以时任意类型,甚至是列表,列表的元素可以更改。

     # 实验一些list的方法:

    nl.count(5)       # 计数,看总共有多少个5

    nl.index(3)       # 查询 nl 的第一个3的下标

    nl.append(6)            # 在 nl 的最后增添一个新元素6

    nl.sort()               # 对nl的元素排序

    nl.pop()          # 从nl中去除最后一个元素,并将该元素返回。

    nl.remove(2)            # 从nl中去除第一个2

    nl.insert(0,9)          # 在下标为0的位置插入9

    Tuple 元组

    元组tuple,小括号(),tuple和list的主要区别在于,一旦建立,tuple元组的各个元素不可再变更,而列表可以更改,别的都差不多。

    元素的引用

    >>>s1 = (2, 1.3, 'love', 5.6, 9, 12, False)         # s1是一个tuple

    >>>s2 = [True, 5, 'smile']                          # s2是一个list

    序列元素的下标从0开始:

    >>>print(s1[0])

    >>>print(s2[2])

    >>>print(s3[1][2])

    由于list的元素可变更,可以对list的某个元素赋值:

    >>>s2[1] = 3.0

    >>>print(s2)

    如果对tuple做这样的操作,会得到错误提示。

    所以,可以看到,序列的引用通过s[<int>]实现, int为下标

    其他引用方式

    范围引用: 基本样式[下限:上限:步长]

    >>>print(s1[:5])             # 从开始到下标4 (下标5的元素 不包括在内)

    >>>print(s1[2:])             # 从下标2到最后

    >>>print(s1[0:5:2])          # 从下标0到下标4 (下标5不包括在内),每隔2取一个元素 (下标为0,2,4的元素)

    >>>print(s1[2:0:-1])         # 从下标2到下标1

    从上面可以看到,在范围引用的时候,如果写明上限,那么这个上限本身不包括在内。

    尾部元素引用

    >>>print(s1[-1])             # 序列最后一个元素

    >>>print(s1[-3])             # 序列倒数第三个元素

    同样,如果s1[0:-1], 那么最后一个元素不会被引用 (再一次,不包括上限元素本身)

    字符串是元组

    字符串是一种特殊的元组,因此可以执行元组的相关操作。

    >>>str = 'abcdef'

    >>>print(str[2:4])

    Dictionary 字典

    词典(dictionary)也是一个类。与列表相似,词典也可以储存多个元素。

    常见的创建词典的方法:

    >>>dic = {'tom':11, 'sam':57,'lily':100}

    >>>print type(dic)

    词典和表类似的地方,是包含有多个元素,每个元素以逗号分隔。但词典的元素包含有两部分,键和值,常见的是以字符串来表示键,也可以使用数字或者真值来表示键(不可变的对象可以作为键)。值可以是任意对象。键和值两者一一对应。

    比如上面的例子中,‘tom’对应11,'sam对应57,'lily'对应100

    与表不同的是,词典的元素没有顺序。你不能通过下标引用元素。词典是通过键来引用。

    >>>print dic['tom']

    >>>dic['tom'] = 30

    >>>print dic

    构建一个新的空的词典:

    >>>dic = {}

    >>>print dic

    在词典中增添一个新元素的方法:

    >>>dic['lilei'] = 99

    >>>print dic

    这里,我们引用一个新的键,并赋予它对应的值。

    词典元素的循环调用

    dic = {'lilei': 90, 'lily': 100, 'sam': 57, 'tom': 90}
    for key in dic:
        print dic[key]

     

    在循环中,dict的每个键,被提取出来,赋予给key变量。

    通过print的结果,我们可以再次确认,dic中的元素是没有顺序的。

    词典的常用方法

    >>>print dic.keys()           # 返回dic所有的键

    >>>print dic.values()         # 返回dic所有的值

    >>>print dic.items()          # 返回dic所有的元素(键值对)

    >>>dic.clear()                # 清空dic,dict变为{}

    另外有一个很常用的用法:

    >>>del dic['tom']             # 删除 dic 的‘tom’元素

    del是Python中保留的关键字,用于删除对象。

    与表类似,你可以用len()查询词典中的元素总数。

    >>>print(len(dic))

     

关键字