列表类型操作如下:
- 列表基本操作
定义: dogs=[‘little’,‘big’,‘kind’,‘bark’]
访问: dogs[0] # result: little
访问末尾元素: dogs[-1] # result: bark
末尾添加元素: dogs.append(‘smile’) # result: dogs[-1] is ‘smile’
在指定位置添加元素: dogs.insert(1,‘middle’) # result: dogs is [‘little’, ‘middle’, ‘big’, ‘kind’, ‘bark’, ‘smile’]
删除元素: del dogs[1]
弹出末尾元素: temp=dogs.pop() # 也可使用pop(num)弹出任意一个位置的元素
按值删除: dogs.remove(‘bark’) # 删除第一个值为bark的元素
排序(修改原列表): dogs.sort() #按字母升序排序,也可降序: sort(reverse=True)
排序(不修改原列表): tempdogs=sorted(dogs) #注意这是函数
列表反向(修改原列表):dogs.reverse()
列表长度: len(dogs) # result: 5
- 列表进阶操作
for循环
#for 循环,注意有个冒号 此外注意python是缩进来表示作用域的,与c用{}不同
for dog in dogs:
for dog in dogs:
dog=dog.upper()
print(dog)
range()函数
#range()函数
for i in range(5): # 循环列表[0,1,2,3,4]
for j in range(1,5): # 循环列表[1,2,3,4]
#将range()转化为列表
nums=list(range(5)) #nums is : [0, 1, 2, 3, 4]
# rang()可指定步长
nums=list(range(0,8,2)) #nums is :[0, 2, 4, 6]
统计计算
nums=[1,2,3,4,5,6,7,8,9,0]
min(nums) #取得最小值:0
max(nums) #取得最大值:9
sum(nums) #求和: 45
列表解析(一行代码生成列表)
nums=[val**2 for val in range(1,10)] #获得1-9的2次幂列表:[1, 4, 9, 16, 25, 36, 49, 64, 81]
列表切片
#[0:3]表示取0-2 注意是冒号 not 逗号
dogs=['little','big','kind','bark']
print(dogs[0:2])
# result: ['little', 'big']
列表复制(应当指出,单纯用列表名赋值得到的不是副本列表,此时两者共用同一个列表,类似于c++的引用)
#正确方式,用切片的表达方式
strangedogs=dogs[:]
元组
元组类似列表,区别是不可修改,且用圆括号来标识
yuanzu=(5,7,9) #定义元组变量
yuanzu[1] #元组的访问也用方括号[],不能使用圆括号进行访问()
#不能修改元组,只能重新定义