列表也叫数组

1、列表的定义:用[]进行定义

比如:list1=['zyq','zyq1','zyq2','zyq3']

定义空列表:

list2=[]

list3=list()

2、列表元素的增加

list1.appednd('zyq64')  #append在list的末尾增加一个元素

print (list1)

list1.insert(0,'zyq5')  #insert,在list的指定位置增加元素,如果下标不存在,就在末尾增加

3、列表元素的修改

先找到下标,再重新赋值,赋的值可以是任何类型的

list1[2]='zyq6'

print('改完之后的list1是',list1)

4、列表元素的删除

list1.pop()  #默认删除最后一个元素,也可以传入指定的下标

 list1.pop(2) #传了谁的下标,就删除谁

list1.remove('zyq1')  #删除指定的元素

list1.clear #清空列表

del list1[-1]  #删除指定位置的元素

5、列表元素的查找

print (list1[1]) #查找下标为1的元素

6、列表的方法

result=list1.count('zyq')  #查询某个元素在list中出现的次数
print (result)
result1=list1.count('zyq7')
print(result1)

index=list1.index('zyq') #找出某个元素的下标
print(index)
list1.append('zyq')
print (list1)
index1=list1.index('zyq')#如果list中有多个元素,返回的是第一次出现元素的下标
print(index1)
# index2=list1.index('zyq7')#如果元素不存在,提示值不在list中
# print(index2)

list1.reverse()# 反转
print(list1)

list1.sort() #排序
print(list1)
list1.sort(reverse=True) #降序排序
print(list1)

list2=[1,3,2,30]
list1.extend(list2)#把一个list2 里面的元素加入到另外一个list1中
print(list1)

#布尔类型
#true,false

print(1>2)
#判断元素在不在list里面,用in
if 'zyq' in list1:
print("zyq在list1中")
else:
print("不存在")


if 'zyq' not in list1:
print("zyq不在list1中")
else:
pass

 

7、多维列表

stu0=[1,2,3,4,5,6,7,8,9,10] #一维列表
stu1=[1,2,3,['a','b','c']] #二维列表
stu2=[1,2,3,4,['a','b','c',['哈','哈','哈']]] #三维列表
stu1[3][0]='哈哈'
print(stu1)

# print (stu2[3][2])
# stu2[3][2].insert(0,'呵呵')
# print(stu2)
stu2[4][3][1]='哈哈'
print(stu2)

#切片 list取值的一种方式,指定范围取值,顾头不顾尾
print(stu0[2:6])
#下标如果从0开始,0可以不写【:4】
#如果前面的下标没有写,代表从0开始取
print(stu0[:5])
#如果后面的下标没有写,代表取到最后面
print(stu0[4:])

new_stu=stu0[:]#复制另一个新的list

print(stu0[::1])#步长,第三个数是步长
print(stu0[::2])
print(stu0[1::2])

print(stu0[::-1])#步长是负数的时候,从右往左取值
print(stu0[::-3])
print(stu0[-1:-10:-1])
#下标,索引,切片同样适用于字符串
name='马上要吃饭了'
print(name[0])
print(name[2:])
print(len(name))
for index,namevalue in enumerate(name):
print(index,namevalue)
#字符串不能进行修改
# name[0]='就要马'
# print(name)

 8、把汉字转换成拼音的程序

import xpinyin
stus = ['杨静', '王志华', '王银梅', '乔美玲',
'段鑫琪', '王立文', '赵燕',
'杨华', '周永波', '杨静']
for index,stu in enumerate(stus): #同时取到下标和值
print("%s==>%s"%(index,stu))

for i in range(len(stus)): #同时取到下标和值
print(i,stus[i])


#如果直接循环一个list,那么每次取的就是list里面的每一个元素
p=xpinyin.Pinyin()
for s in stus:
stu_pinyin=p.get_pinyin(s)
print(stu_pinyin)
#
# index=0
# while index<len(stus):
# print(stus[index])
# index+=1