17 列表

1,列表的格式:

   namesList = ['xiaoWang','xiaoZhang','xiaoHua']

  比C语言的数组强大的地方在于列表中的元素可以是不同类型的

   testList = [1, 'a']

2,打印列表

nameList=['jack1','jack2','jack3']
print(nameList[0])
print(nameList[1])
print(nameList[2])

结果:

  jack1

  jack2

  jack3

3,列表的循环遍历

  ①使用 for 循环

  ②使用 while 循环

 1 # for循环打印列表
 2 ageList=[12,14,17]
 3 for age in ageList:
 4     print(age,end=" ")
 

6 # while循环打印列表 7 i=0 8 while i<len(ageList): 9 print(ageList[i],end=" ") 10 i+=1

打印结果:

  12 14 17

 

4,列表的相关操作

  ①添加元素(“增” append , extend , insert )

    append: 通过 append 可以向列表中添加元素

1 #增 append
2 name_List=["小明","小李","小王"]
3 name=input("请输入要添加的名字:")
4 name_List.append(name)
5 for name in name_List:
6     print(name,end=" ")  

  打印结果:

  

 

  extend: 通过 extend 可以将另一个集合中的元素逐一添加到列表中

 1 # 增 extend
 2 a=[1,2]
 3 b=[3,4]
 4 b.append(a)
 5 for i in b:
 6     print(i,end=" ")
 7 print( )
 8 b.extend(a)
 9 for i in b:
10     print(i,end=" ")

  打印结果:

  

 

  insert

  insert( index, object ) 在指定位置 index 前插入元素 object

1 # 增 insert
2 arr1=[1,2,3]
3 arr1.insert(2,'a')
4 for i in arr1:
5     print(i,end=" ")

  打印结果:

  1 2 a 3

  

  ②修改元素(“改”)

    修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改

1 #
2 list1=['a','b','1','d']
3 list1[2]='c'
4 for i in list1:
5     print(i,end=" ")

    打印结果:

    a b c d

  

  ③查找元素(“查”  in  , not in , index , count )

    所谓的查找,就是看看指定的元素是否存在

    python中查找的常用方法为:

      in(存在),如果存在那么结果为true,否则为 false

      not in (不存在),如果不存在那么结果为 true , 否则为false

      index :查找索引

      count: 查找出现的次数

 1 # 查 in , not in
 2 name_List=["小李","小张","小王"]
 3 find_name=input("请输入你要查找的姓名:")
 4 if find_name in name_List:
 5     print("找到了您要找的名字")
 6 else:
 7     print("没有找到您要找的名字")
 8 
 9 print()
10 
11 # 查 index count
12 str=['a','c','b','d','c']
13 print(str.index('b',0,3))  # 2
14 print(str.index('c'))   # 1
15 print(str.count('c'))  # 2

  ④删除元素(“删” del , pop , remove)

    列表元素的常用删除方法有:

    del : 根据下标进行删除

    pop : 删除最后一个元素

    remove :  根据元素的值进行删除

1 # 删 del
2 movie_name=['千与千寻','哪吒','天气之子','唐人街探案']
3 del movie_name[1]
4 for i in movie_name:
5     print(i)

  打印结果:

  千与千寻

  天气之子

  唐人街探案

1 # 删 pop
2 film_name=['千与千寻','哪吒','天气之子','唐人街探案']
3 film_name.pop()
4 for i in film_name:
5     print(i)

  打印结果:

  千与千寻

  哪吒

  天气之子

1 # 删 remove
2 a=[1,2,3,4,5]
3 a.remove(3)
4 for i in a:
5     print(i)

  打印结果:

  1 2 4 5

⑤排序(sort , reverse )

  sort 方法是将 list 按特定顺序重新排列,默认为由小到大,参数 reverse=True 可改为倒序,由大到小。reverse 方法是将 list 逆置

 1 # 排序
 2 p=[1,7,3,9,0,3]
 3 p.sort()
 4 for i in p:
 5     print(i,end=" ") # 0 1 3 3 7 9

6 print() 7 p.sort(reverse=True) 8 for i in p: 9 print(i, end=" ") #9 7 3 3 1 0


10 print() 11 p.reverse() 12 for i in p: 13 print(i,end=" ") # 0 1 3 3 7 9

 

⑥列表的嵌套

  一个列表中的元素又是一个列表,那么这就是列表的嵌套

  school_names = [['北京大学','清华大学'], 

          ['南开大学','天津大学','天津师范大学'],

          ['山东大学','中国海洋大学']]

  

  应用:

  一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机分配

 1 import random
 2 office=[[],[],[]] # 三间办公室
 3 teachers=['A','B','C','D','E','F','G']  # 8位老师
 4 
 5 for teacher in teachers:
 6     index=random.randint(0,2)
 7     office[index].append(teacher)
 8 
 9 i=1
10 for tmp in office:
11     print("办公室%d" % i)
12     i += 1
13     print(tmp)
14     for j in tmp:
15        print( j,end=" ")
16     print()

 

 

  

 

 

   

posted @ 2020-02-17 23:45  shanlu  阅读(177)  评论(0编辑  收藏  举报