参考书籍:《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))