列表创建及操作
# 相当于C语言的数组但是列表是动态存储且可以进行任何类型数据混存
print('-----------创建列表---------')
# 创建列表方法一:使用'[]'
lit = ['hello', 'word', 15, 'hello']
print(id(lit))
print(type(lit))
# 创建列表方法二:使用内置函数list
lit2 = list(['w', 'h', 55])
print(type(lit2))
print(lit2)
print('---------查找元素---------')
print(lit2[0], lit2[-3]) # 通过索引定位,第一位为0,同时最后一位也可为-1
print('获取列表中指定元素的索引(index()函数)')
print(lit.index('word')) # 如果列表中有两个相同的元素,只返回其中第一个元素的索引
# print(lit.index('hello',1,3))#在1到2中查找‘hello’
# 获取列表多个元素(切片操作) 列表名[start:stop:step]
print(lit[2], lit[0:2])
# step为负数时逆序输出
print(lit[::-1])
print('-----------遍历列表-----------')
for i in lit:
print(i)
print('-----------列表的增删改操作-----------\n')
print('----------添加列表元素---------')
# append()函数增加列表元素到末尾
lit.append(100)
print(lit)
# extend()函数至少添加一个元素
lit.append(lit2) # 将lit2作为一个元素添加
lit.extend(lit2)
print(lit)
# insert()函数在任意位置插入元素
lit2.insert(1, '插入元素')
print(lit2)
# 切片添加元素
lit3 = ['ture', '切片操作']
lit2[3::] = lit3 # 只有起始位置时将替换后面全部部分
print(lit2)
lit2[1:1] = lit3 # 起始位置于结束位置一样即可插入多个元素
print(lit2)
print('-------删除列表元素--------')
# 列表序列.remove(数据)
list4 = ['python', 'java', 'php']
list4.remove('python')
# list1.remove(list4[0]) # 和上面效果一样
print(list4)
# 删除指定下标的数据,如果不指定下标,默认删除最后一个数据,无论是按照下标还是删除最后一个,pop函数都会返回这个被删除的数据
# 列表序列.pop()
del_list = lit.pop()
print(del_list)
print(lit)
del_list1 = lit.pop(1)
print(del_list1) # php
print(lit)
# 切片操作删除元素
lit[4:6] = []
print(lit)
# 列表序列.clear()清除列表元素
list4.clear()
print(list4)
# 删除列表或删除指定数据 del 目标 或 del(目标)
list1 = ['python', 'java', 'php']
# del可以删除指定下标的数据
del list1[0]
print(list1) # ['java', 'php'] ---- 'python’数据被删除
del list1
# print(list1) # 报错提示 NameError: name 'list1' is not defined
print('-------修改列表元素--------')
# 利用索引修改
print(lit)
lit[1] = 10
print(lit)
lit[1:3] = [20, 30]
print(lit)
print('----------排序列表元素------------')
# sort()函数升序排列
new = [10, 55, 2, 999, 80]
new.sort()
print(new)
# 降序排序
new.sort(reverse=True) # reverse=False为升序排列
print(new)
print('---------使用内置函数sorted()排序---------')
# 默认升序排序
new_list = [10, 55, 2, 999, 80]
newl = sorted(new_list)
print(newl)
# 降序排序
newl = sorted(new_list, reverse=True)
print(newl)
print('---------使用函数reverse()翻转序列---------')
num = [3, 5, 9, 0, 1, 9, 0, 3]
num.reverse()
print(num)
print('------------列表生成式------------')
lst = [i for i in range(1, 10)]
print(lst)
lst = [i * i for i in range(1, 10)]
print(lst)