###################################列表中元素的访问#########################################
a=["zhangsan","zhangsan ","lisi","lisi"]
print(a)
b=a[0]
print(b)
#单独读取列表中的元素的方法可以通过下表的方法去
print(a[0:3])
print(a[0:])
print(a[:3])
print(len(a))
print(a[:len(a)])
print(a[:])
print(a)
###################################获取列表中元素之的下标#########################################
print(a.index("zhangsan"))
####################################统计列表中值的个数#############################################
print(a.count("zhangsan"))
####################################列表中添加元素################################################
#由于列表是有序的,所以,可以通过索引inde,在列表中增加索引从而给列表添加值
''' a[len(a)+1]="guode"
print(a)
'''
'''
Traceback (most recent call last):
File "F:/guode/day3/list.py", line 20, in <module>
a[len(a)+1]="guode"
IndexError: list assignment index out of range
索引错误, 列表分配的索引超出范围所以我们不能直接通过a[endex]的方式来新增列表的值
'''
#新增列表只能通过append方法列添加,append方法只是在列表的最后添加新的值,并且增加list的长度
a.append("guode")
print(a)
#如果我要在如果我要在特定的索引前面新加入值,只能通过insert方法加入
a.insert(0,"陈娇娇")
print(a)
#第一种操作也可以通过第二种操作实现
a.insert(len(a),"通过insert方法在最后添加一个值")
print(a)
#如果我想添加多个值时如何操作
a.append(["a01","a02"])
print(a) # 这种方法值等建列表整个添加进去,无法将列表中的元素添加进去
a.insert(len(a),["01","02"])
print(a) #这种方法也没法实现
#inser和append都无法将另一个list的值添加到a,我们就只有通过extend方法来实现列表的扩展
a.extend({1,2,3}) #把集合中的每一个元素添加到a中
print(a)
#别列表中的每一个元素添加到a中
a.extend([1,2,3,4,5,9])
print(a)
#将字典中的每一个元素添加到列表中
a.extend({"01":"gudoe","02":"chengjiaojiao"}) #字典添加到a中,系统知识添加了字典的key,而不是整个都添加进去
print(a)
#将元素添加到列表中
a.extend(("nihao","pythone"))
print(a)
###########################################列表中元素的删除###################################################
#通过下标来删除元素
del a[0]
print(a)
#通过列表中的值来删除
a.remove(1)
print(a)
#随机删除
a.pop()
print(a)
##################################列表中元素的修改#############################################
#直接通过索引修改
a[0]=123
print(a)
##################################改变列表中的元素顺序#########################
a.reverse() #对列表中的元素进行反排序
print(a)
#a.sort() #对列表中的元素进行排序
print(a)
print(a.count(2)) #统计列表中元素的个数