列表(list)——打了激素的数组
*数组只能存储同一种数据类型,而列表可以同时存储多种
1. 列表的定义
1)定义一个空列表:
l = []
2)定义一个一般列表:(元素可以是任意类型)
li = [13, 2.4, "westos", (1,2,3), [2,4,65]]
print li
t = (13, 2.4, "westos", (1,2,3), [2,4,65]) ##定义一个元组作比较
print t
2. 列表特性(与元组tuple对比):
**元组是不可变数据类型,不能修改元素
#t[0] = 11
**列表是可变数据类型,可修改元素
li[0] = 32
li
1)索引
li = [13, 2.4, "westos", (1,2,3), [2,4,65]]
print li
li[0] ##正向索引(第一个元素)
li[-1] ##反向索引(倒数第一个元素)
li[-1][2] ##拿出列表最后一个元素(依然是列表)中的第三个元素
2)切片
li[1:] ##去掉列表中第一个元素
li[::-1] ##逆序显示
3)重复
li * 2 ##显示两个li列表连起来的列表
4)连接
li2 = ["westos", "hello", "world"]
li + li2
5)成员操作符(in, not in)
print 13 in li
3. 列表的增删改查:
1)增:
**以ip白名单为例
allow_ip = ["172.25.254.23", "172.25.254.43", "172.25.254.1"]
allow_ip.append("172.25.254.3") ##追加元素到列表表尾
print allow_ip
allow_ip.insert(1,"172.25.254.65") ##追加元素到列表指定位置
print allow_ip
allow_ip.extend("172.25.254.32","192.25.254.7") ##追加多个元素到列表表尾
print allow_ip
**iterable可迭代的,目前学习的可迭代对象有:str,list,tuple
2)改:
allow_ip[0] = "172.25.254.254" ##通过索引对某个元素重新赋值
print allow_ip
3)查:
buy = ["apple", "pen", "computer", "book", "pen"]
print buy.count("pen") ##统计列表中某个元素出现次数
print buy.index("apple") ##查找某个值在列表中的索引值
4)删:
buy.remove("pen") ##删除列表中遇到的第一个value值
print buy
del buy[2] ##删除列表中第2个索引值
print buy
del buy[1:] ##删除第一个以外的其他元素
print buy
del buy ##删除列表对象
print buy
li = [1, 23, 43, 33]
li.pop(1) ##删除第二个索引值
li.pop() ##默认为最后一个元素
print li