记录两个列表的一些性质和使用方法,比较枯燥:
List(数组):
概述:python中内置的一种数据类型——列表。是有序集合,可以随时增删其中的元素。
直接以举例学习特性:
eg:
》》》names = ["zhano", "qian", "sun", "li"]
》》》names
["zhao", "qian", "sun" ,"li"]
如上例可见,names就是一个list列表。
· len()函数可以获取该列表的长度:
eg:
》》》len(names)
4
· 使用索引来访问某位置上的元素
eg:
》》》names[0]
"zhao"
》》》names[1]
"qian"
注意:防止数组越界问题
最后一个元素的索引下标是:len(names) - 1
可以通过负数索引来反方向索引:
eg:
》》》names[-1] # 表示倒数第一个
"li"
-2、-3......以此类推表示倒数第二、第三个。同样要注意数组越界问题。
· 向列表的末尾添加元素
eg:
》》》names.append("zhou")
》》》names
["zhao", ''qian'', ''sun'', ''li'', ''zhou'']
· 向指定位置插入某元素
eg:
》》》names.insert(1, "zhang") # 在列表的第一个索引位置处插入元素:zhang
》》》names
[''zhao'', ''zhang'', ''qian'', "sun", "li", "zhou"]
· 删除列表末尾元素
eg:
》》》names.pop()
"zhou"
》》》names
[''zhao'', ''zhang'', ''qian'', "sun", "li"]
若删除指定索引位置的元素,则:
》》》names.pop(i) # 假设此处的i = 1
"zhang"
》》》names
[''zhao'', ''qian'', "sun", "li"]
· 将某元素替换成另一个元素,则直接对该元素的索引位置进行赋值即可
eg:
》》》names[2] = "wu"
》》》names
[''zhao'', ''qian'', "wu", "li"]
· List中的数据类型也可以不同
eg:
》》》naems.inster(1, True)
》》》names
[''zhao'', True, ''qian'', "wu", "li"]
·List中的元素也可以是另一个List
eg:
》》》allnames = [''小明'', 2, [''zhao'', True, ''qian'', "wu", "li"], False]
》》》len(allnames) # 计算一下这个新数组的长度
4
类似于java的二维数组
以上写法也等价于:
allnames = [ "小明", 2, names, Fasle]
若此时想访问元素"zhao",由两种方式:
1: names[0]
2: allnames[2][0]
· List允许其中的元素为空
》》》emptylist = [ ]
》》》len(emptylist)
0
List数组到此告一段落............................................................
tuple(元组):
概述:一种有序列表——元组。与List十分类似,但不同点是,一旦tuple确定,就不能修改其中的元素。
eg:
》》》citys = ("beijing", "nanjing", "shenzhen", "shanghai")
现在,citys这个元组无法再改变了,也没有append()、insert()、赋值...... 这些方法,但是访问元素的方法和list是一样的。
因为不可变,所以更安全,能tuple的情况就尽量用这个。
也可以为空
》》》A = ( )
》》》A
( )
注意:若定义一个只有一个元素的tuple,则要在小括号内元素后面加上“ , ”以表示和数学公式中的小括号区分。
正确写法:
》》》number = (1,)
》》》number
(1,)
歧义写法:
》》》number = (1) # 此为数学运算意义上的写法
》》》number
1
· 在tuple中可以加入list列表,虽然tuple中的每个元素不变,也即其中加入的list列表的对象不变,但是该列表中的元素是可以变的
eg:
》》》str = ("yi", "er", ["san", "si"]) # 定义完毕一个tuple
》》》str[2][0] = "jiu"
》》》str[2][1] = "shi"
》》》str
("yi", "er", ["jiu", "shi"])
完毕!
网友评论