Python快速上手(二):list、tuple、dict、set

一、list

列表,可变、有序的集合。

classmates = ['Michael', 'Bob', 'Tracy']
print(classmates)

可以用len()方法获取list元素个数。如len(classmates)结果是3。

用索引访问,如classmates[0]是'Michael',要特别注意,和C语言一样,从0开始而不是从1开始!

还可以用负数,-1表示最后一个元素,-2表示倒数第二个,以此类推。

可以往list中追加元素到末位:

classmates.append('Adam')

也可以追加插入到指定的位置:

 classmates.insert(1, 'Jack')

删除list末位的元素:

classmates.pop()

删除list中指定位置的元素:

classmates.pop(1)

替换:直接赋值到指定索引位置:

classmates[1] = 'Sarah'

list的元素数据类型可以不同,list的元素也可以是另一个list。如:

p = ['asp', 'php']
s = ['python', 'java', p, 'scheme']

要拿到php,可以用p[1],或者s[2][1]。

上述代码请自行编写并打印测试结果,以帮助理解。

二、tuple

称为“元组”。tuple和list非常类似,都是有序列表,但是tuple一旦初始化就不能修改。

classmates = ('Michael', 'Bob', 'Tracy')

它存在的意义就在于安全性。一般能确定下来的元素,能用tuple就尽量用tuple,不用list。

还有高级的用法,比如在tuple中嵌入list,这样感觉上去tuple中元素就可以变化了。

三、dict

字典。做过面向对象开发的同学,应该很熟悉了,相当于java中的map,在OC中也叫dictionary,就是键值对存储。例如:

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}

打印d['Michael']试试?

上面是用key来读value,也可以用key存储value,如:d['Michael'] = 100。

要删除一个键值对,用pop()方法:

d.pop('Bob')

请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。

和list比较,dict有以下几个特点:查找和插入的速度极快,不会随着key的增加而变慢;需要占用大量的内存,内存浪费多。查找和插入的时间随着元素的增加而增加;占用空间小,浪费内存很少。而list相反。

所以,dict是用空间来换取时间的一种方法。

四、set

set和dict类似, 无序,但是只存储key,不存value。且key不能重复。为了具体了解下,请看下面的代码例子:
首先,set的创建,需要传入list:


这里传入的是list,但是输出已经不是list而是set了。{1,2,3}的意思是,这个set里面有1,2,3这三个元素,但是是无序的!

若输入重复元素,会被过滤:


还可以增加和删除key:


set的无序、无重复特性,可以用来干嘛呢?——集合运算!交并补!



猜你喜欢

转载自blog.csdn.net/lyxleft/article/details/80149649