#序列中的每个元素都分配一个数字 - 索引第一个是0
#索引可进行的操作包括索引,切片,加,乘,检查成员,Python已经内置确定序列的长度以及确定最大和最小的元素的方法
#列表里面的数据项不需要具有相同的类型,即一个列表面可以放不同的数据类型 例如:
list1=[1,2,3,"abcd",'张三'];
#使用索引的方式访问列表中的元素
var=10
c=var+list1[1]
print(c) #12
#截取列表元素
print(list1[1:3]) #[2, 3] 从1截取到3 包含1 不包含3
#列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项
list1[2]='Tom'
print(list1) #[1, 2, 'Tom', 'abcd', '张三'] 更新了索引为2,也就是第三个元素
list1.append(5)
print(list1) #[1, 2, 'Tom', 'abcd', '张三', 5] 追加了5到列表
#删除列表元素
del list1[3]
print(list1) #结果变为[1, 2, 'Tom', '张三', 5] 删除了第四个元素
#列表的相关操作符
print("list1的长度:",len(list1)) #求list元素的个数
list2=[6,7,8]
print(list1+list2) #两个list拼接 [1, 2, 'Tom', '张三', 5, 6, 7, 8]
list3=[1,'abc']
print(list3*3) #列表中的元素重复三次 [1, 'abc', 1, 'abc', 1, 'abc']
if 'Tom' in list1:
print("Tom存在列表中")
else:
print("Tom不存在列表中")
#遍历列表
for a in list1:
print(a)
#列表截取 list[start:end] 开始位置,结束位置 start没有默认从0开始截取,end没有默认截取到最后 start和end可以是负数
#负数从-1开始,-1表示最后一个元素,往前依次为-2 -3.。。。
print(list1[:4])#[1, 2, 'Tom', '张三']
print(list1[2:])#['Tom', '张三', 5]
print(list1[1:-1])#[2, 'Tom', '张三']
#列表里面嵌套列表
myList=[1,2,3,4]
otherList=['a','b',myList,'c','d']
print(otherList) #['a', 'b', [1, 2, 3, 4], 'c', 'd']
'''
len(list)列表元素个数
max(list)返回列表元素最大值
min(list)返回列表元素最小值
'''
print(len(otherList))
print(max(myList))
#print(max(otherList)) 不可行
list4=['a','b','c','d']
print(max(list4))
list5=['abc','dfegh','rttetry']
print(max(list5)) #支持
list6=['abc','dfegh','rttetry','34535']
print(max(list6)) #支持
#以上列子说明:支持同一种类型求最大值
'''
列表常用方法
1 list.append(obj)
在列表末尾添加新的对象
2 list.count(obj)
统计某个元素在列表中出现的次数
3 list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4 list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
5 list.insert(index, obj)
将对象插入列表
6 list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj)
移除列表中某个值的第一个匹配项
8 list.reverse()
反向列表中元素
9 list.sort( key=None, reverse=False)
对原列表进行排序
10 list.clear()
清空列表
11 list.copy()
复制列表
'''
list=[1,2]
list.append(3)
print(list) #[1, 2, 3]
list.append(1)
print(list) #[1, 2, 3, 1]
print(list.count(1)) #2次
list.extend(list1)
print(list) #[1, 2, 3, 1, 1, 2, 'Tom', '张三', 5]
print(list.index(2)) #元素2第一次出现的位置 #1
print(list.index('Tom')) #6
list.insert(3, 'Owen') #将Owen插入索引为3的位置
print(list)#[1, 2, 3, 'Owen', 1, 1, 2, 'Tom', '张三', 5]
var=list.pop()#删除列表中的元素,如果不指定参数,默认删除最后一个元素,返回被删除的元素
print(var)#5
print(list)#[1, 2, 3, 'Owen', 1, 1, 2, 'Tom', '张三']
list.remove('张三') #删除某个元素 注意其中的参数是元素,不是索引
print(list) #[1, 2, 3, 'Owen', 1, 1, 2, 'Tom']
list.remove(1)
print(list) #[2, 3, 'Owen', 1, 1, 2, 'Tom'] 当列表中元素是重复的时候默认删除第一个
list.reverse()
print(list) #['Tom', 2, 1, 1, 'Owen', 3, 2]
list7=[3,1,5,7]
list7.sort(reverse=False)
#key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
#reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
print(list7)
def sumTag(var):
var=3
return var
list7.sort(key=sumTag)
print(list7)