序列是什么?
在python中,序列是指它的成员都是有序排列,并且可以通过下标偏移量访问到它的一个或几个成员。
序列有三种形式:
- 字符串(str),如“Hello world”,当然也可以用单引号
- 列表(list),如[10,“abcd”,18.5],可以包含任何类型
- 元组(tuple),如(“abc”,“def”,45),可以包含任何类型
序列的基本操作:
- 成员关系操作符(in,not in),对象[not] in 序列
- 连接操作符(+):序列 + 序列
- 重复操作符(*):序列 * 整数
- 切片操作符([:]):序列[整数:整数]
其中,列表和元组有很多共同之处,比如都支持下标索引以及切片访问等,但是它们也有不同之处,主要体现在以下两点:
- 列表用方括号[ ]声明,元组使用圆括号( )声明。需要注意的是,当元组只有一个元素时,需要在元素的后面加一个英文逗号分隔符,以防止与表达式中的小括号混淆。这是因为小括号既可以表示元组,又可以表示表达式中的优先级算符
- 列表是可变类型,而元组是不可变类型。因此,在程序运行过程中无法对元组的元素进行插入和删除运算。在这种情况下,元组可以看作是列表的一种补充
元组和列表比较大小:(1,20)> (2,19) -----> flase。规则是:看作120和219的比较。
列表初始赋值,通过列表推导式。例如,给列表blist赋值为从1到10中所有偶数的平方值,除了显式的利用for循环,还可以采用如下所示的列表推导式完成:
blist = [i*i for i in range(1, 11) if(i%2 == 0)]
字典是什么?
字典(dict)就是一组(key:value)的集合,利用花括号{ }定义,如{"name":"yichun", "age":18, "score":95}。
从本质上来看,其类似于java中的map类型或者知识图谱中的(属性,属性值)对。
字典初始赋值,通过字典推导式。例如,给字典zdict的key值设为["牛","羊","狗","猪"],其对应的数量为0,可以采用如下的字典推导式完成:
animal = ["牛", "羊", "狗", "猪"]
zdict = {ii:0 for ii in animal}