# /usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 18-7-19 下午6:14
# @Author : 杨星星
# @Email : yangshilong_liu@163.com
# @File : python_list_.py
# @Software: PyCharm
# 创建一个空列表
new_list = []
# 创建一个列表
data_list = [1,2,3,4,5,6,7,8,9]
print(data_list)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 列表相乘
print(data_list*3)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# append尾部添加元素
data_list.append('a')
print(data_list)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 'a']
# insert选择性插入
data_list.insert(4,'b')
print(data_list)
# [1, 2, 3, 4, 'b', 5, 6, 7, 8, 9, 'a']
# 选择性删除元素
del(data_list[2])
print(data_list)
#[1, 2, 4, 'b', 5, 6, 7, 8, 9, 'a']
# pop在列表中弹出该元素,并返回该元素,index不填则弹出栈顶元素
data_pop = data_list.pop(3)
print(data_pop)
print(data_list)
# b
# [1, 2, 4, 5, 6, 7, 8, 9, 'a']
# 新建一个列表 index不填则弹出栈顶元素
list = [2,4,6]
data_pop = list.pop()
print(data_pop)
print(list)
# 6
# [2, 4]
# remove选择删除值
list.remove(2)
print(list)
# [4]
# sort永久排序 False 正排序 True 倒排序
list_sort = [1,3,5,7,86,2]
list_sort.sort(reverse=False)
print(list_sort)
#[1, 2, 3, 5, 7, 86]
#sorted 临时排序 不改变元数据结构 sorted()不会改变原来的list,而是会返回一个新的已经排序好的list False 正排序 True 倒排序
new_sort_list = sorted(list_sort,reverse=True)
print(new_sort_list)
#[86, 7, 5, 3, 2, 1]
# 永久反向列表
list_sort.reverse()
print(list_sort)
# [86, 7, 5, 3, 2, 1]
# 列表长度
list_len_sort = len(list_sort)
print(list_len_sort)
# 6
# clear清空列表
list_clear = [1,2,3,4,6]
list_clear.clear()
print(list_clear)
# copy 列表
list_copy = [4,6,8,9]
list_copy_1 = list_copy.copy()
print(list_copy_1)
# count统计 value 的数量
list_count = [7,6,5,4,4,'q','q']
count_num = list_count.count('q')
print(count_num)
# extend列表的相加 合并
list_extend = [2,3,4]
list_extend_2 = [7,8,]
list_extend.extend(list_extend_2)
print(list_extend,'>>>')
# 返回值的下标
list_index = [9,3,4,5,7]
list_index_index = list_index.index(4)
print(list_index_index)
# in not in
list_in = ["a","hello","name","age","yeah","it","right","true"]
print('age' in list_in)
print('selenium' not in list_in)
# 切片
list_slice = [1,2,3,4,5,6,7,8,9]
print(list_slice[:])
print(list_slice[:4])
print(list_slice[3:])
print(list_slice[::-1])
# 最大值
list_max = max(list_slice)
print(list_max)
# 最小值
list_min = min(list_slice)
print(list_min)
# 总和
list_sum = sum(list_slice)
print(list_sum)
# 列表解析式
L = [ i**2 for i in range(1,11)]
print(L)
M = [ i**2 for i in range(1,11) if i >= 4 ]
print(M)