列表(list)
基本概念
- 以方括号[]表示,以’,'分割。列表中可以包含任何数据类型,列表通过下标索引访问其中成员
- 列表是有序的序列,每个元素都分配一个个下标索引。索引从0开始
列表操作
[]索引取值
my_list = ['apple', 1214, 'Nancy', 'pink']
print(my_list[1])
>>> 1214
print(my_list[0:2])
>>> ['apple', 1214, 'Nancy']
更新列表
my_list = ['apple', 1214, 'Nancy', 'pink']
my_list[3] = 666
print(my_list)
>>> ['apple', 1214, 'Nancy', 666]
del()删除列表元素
my_list = ['apple', 1214, 'Nancy', 'pink']
del my_list[3]
print(my_list)
>>> ['apple', 1214, 'Nancy']
len()获取列表长度
my_list = ['apple', 1214, 'Nancy', 'pink']
len(my_lsit)
>>> 4
max()返回列表元素最大值
list1,list2 = ["apple", "hi", "BOY"],[20, 666, 888]
max(list1)
>>> 'hi'
max(list2)
>>> 888
min()返回列表元素最小值
list1,list2 = ["apple", "hi", "BOY"],[20, 666, 888]
min(list1)
>>> 'BOY'
min(list2)
>>> 20
list()将元祖转化为列表
tuple1 = ("happy", 22, "lisa", 888)
list(tuple1)
>>> ['happy', 22, 'lisa', 888]
列表元素组合
list1 = [1,2,3]
list2 = ["apple", 'python']
print(list1+list2)
>>> [1, 2, 3, 'apple', 'python']
列表元素重复
list1 = ["hello"]*3
print(list1)
>>> ['hello', 'hello', 'hello']
列表嵌套
list1 = ["xianxian", "123"]
list2 = [888, "zhanzhan"]
list3 = [list1,list2]
print(list3)
>>> [['xianxian', '123'], [888, 'zhanzhan']]
列表方法
list.append(obj)在列表末尾追加新的对象(注意和extend之间的对比)
list1 = ["happy", 6666]
list1.append("lisa")
print(list1)
>>> ['happy', 6666, 'lisa']
list.extend(seq)在列表末尾一次性追加另一个序列里的多个值(扩展列表)
list1 = ["happy", 6666]
list1.extend("lisa")
print(list1)
['happy', 6666, 'l', 'i', 's', 'a']
list.pop(index-1)移除列表中的元素,默认移除最后一个
list1 = ["happy", 6666, "hahh"]
list1.pop()
>>> 'hahh'
print(list1)
['happy', 6666]
list.remove(obj)移除列表中某个值的第一个匹配项
list1 = ["happy", 6666, "hahh", "happy"]
list1.remove("happy")
print(list1)
>>> [6666, 'hahh', 'happy']
list.count(obj)统计元素在列表中出现的次数
list1 = ["happy", 6666, "hahh", "happy"]
list1.count("happy")
>>> 2
list.index(obj)找出某个值第一个匹配项的索引位置
list1 = ["happy", 6666, "hahh", "happy"]
list1.index("happy")
>>> 0
list.insert(index, obj将对象插入列表
list1 = ["happy", 6666, "hahh", "happy"]
list1.insert(0,"nancy")
print(list1)
>>> ['nancy', 'happy', 6666, 'hahh', 'happy']
list.sort(key=None,reverse)对原列表进行排序,reverse = True降序,reverse = False升序(默认)
list1 = ["happy", "hhh","lisa"]
list1.sort() # 排序列表中不能同时出现str和int类型
print(list1)
>>> ['happy', 'hhh', 'lisa']
list1.sort(reverse=True)
print(list1)
>>> ['lisa', 'hhh', 'happy']
list.reverse()反向列表元素
list1 = ["happy", 6666, "hahh", "happy"]
print(list1.reverse())
>>> ['happy', 'hahh', 6666, 'happy', 'nancy']
list.clear()清空列表元素
list1 = ["happy", 6666, "hahh", "happy"]
list1.clear()
print(list1)
>>> []
list.copy复制列表
list1 = ["happy", "xiaozhan"]
list2 = list1.copy()
print(list2)
>>> ['happy', 'xiaozhan']
sum(list)求和:元素为数字
my_list = (22,12,20)
sum(list)
>>> 54
补充
队列:FIFO(first in first out–先进先出)
l = []
# 入队操作
l.append('first')
l.append('second')
l.append('third')
# 出队操作
print(l.pop(0))
print(l.pop(0))
print(l.pop(0))
堆栈:LIFO(last in frist out–后进先出)
l = []
# 入栈操作
l.append('first')
l.append('second')
l.append('third')
# 出栈操作
print(l.pop())
print(l.pop())
print(l.pop())