列表

列表介绍

列表的循环遍历

列表的常见操作

列表的嵌套

变量A的类型为列表

name = [‘张三’,‘李四’,‘王五’]

列表的元素可以是不同类型的

name = [1,'a']

#打印列表
name = [‘张三’,‘李四’,‘王五’]
print(name[0])
print(name[1])
print(name[2])

#运行结果:
zhangsan
lisi
wagwu

列表的循环遍历

1.使用for循环

用循环来完成,可以可更加有效率的输出列表的每一个数据

namelist = ['zhangsan','lisi','wangwu']
for name in namelist:
    print(name)

#运行结果
zhangsan
lisi
wangwu

2.使用while循环

namelist = ['zhangsan','lisi','wangwu']
length = len(namelist)
i = 0
while i <length:
    print(namelist[i])
    i+= 1

#运行结果
zhangsan
lisi
wangwu

列表的相关操作

列表存放的数据是可以进行修改的,比如:“增”“删”“改”

 1.添加元素(“增”  apppend,extend,insert)

appent

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

#定义变量a,默认有三个元素

a = ['zhangsan','lisi','wangwu']
print("-------添加之前,列表a的数据--------")
for tempname in a:
    print(tempname)

#提示、并添加元素
tpme = input("请输入要添加的学生姓名:")
a.append(temp)

print("-------添加之后,列表a的数据---------")
for tempname in a:
    print(tempname)

#运行结果:
---------添加之前,列表a的数据------
zhangsan
lisi
wangwu
请输入要添加的学生姓名:

extend

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

> a=[1,2]
> b=[3,4]
>a.append(b)
>a
[1,2,[3,4]]
>a.extend(b)
>a
[1,2,[3,4],3,4]

insert

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

>a = [0,1,2]
>a.insert(1,3)
>a
[0,3,1,2]

  2.修改元素(“改”)

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

#定义变量a,默认有三个元素
a = ['zhangsan','lisi','wangwu']
    print("-----修改之前,列表a的数据-----")
    for tempname in a:
         print(tempname)

#修改元素
a[1] = 'sunliu'
print("-------修改之后列表a的数据--------")
for tempname in a:
    print(tempname)

运行结果:
-------修改之前,列表a的数据---------
zhangsan
lisi
wangwu
-------修改之后,列表a的数据---------
zhangsan
sunliu
wangwu

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

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

in , not in

python中查找的常用方法为:

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

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

#待查找的列表
namelist = ['zhangsan','lisi',''wangwu]

#获取用户查找的名字
findname = input (“请输入要查找的名字:”)

#查找是否存在
if findname in namelist:
    print(“在字典找到了相同的名字”)

else:
    print(“没有找到”)

#运行结果
结果1:(找到)
结果2:(没有找到)

说明:

in的方法只要会了,那么not in 也是同样的用法,只不过not in 判断的是不存在

index, count

index 和count与字符串中的用法相同

>a = ['a','b','c','a','b']
>a.index('a',1,3)  #注意是左闭右开区间
Traceback(most recent call last):
    File "<stdin>",line 1,in<module>
ValueEroor: 'a' is not in list
>a.index('a',1,4)
3
>a.count('b')
2
>a.count('d')
0

4.删除元素(‘删’ del,pop,remove)

作用:类比显示生活中,如果某位同学调班了,那么应该把这个调班的同学的姓名删除;在开发中会经常用到删除这种功能;

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

*del: 根据下标进行删除

*pop:删除最后一个元素

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

del举例:

namelist = ['zhangsan', 'lisi' , 'wangwu']

print('-------删除之前--------')
for tempname in namelist:
    print(tempname)

del namelist[2]

print('-------删除之后--------')
for tempname in namelist:
    print(tempname)

#运行结果
-------删除之前---------
zhangsan
lisi
wangwu
-------删除之后----------
zhangsan
lisi

pop案例:

namelist = ['zhangsan', 'lisi' , 'wangwu']

print('-------删除之前--------')
for tempname in namelist:
    print(tempname)

namelist.pop()

print('-------删除之后--------')
for tempname in namelist:
    print(tempname)

remove案例:

namelist = ['zhangsan', 'lisi' , 'wangwu']

print('-------删除之前--------')
for tempname in namelist:
    print(tempname)

namelist.remove('lisi')

print('-------删除之后--------')
for tempname in namelist:
    print(tempname)

#运行结果
-------删除之前---------
zhangsan
lisi
wangwu
-------删除之后----------
zhangsan
wangwu

5.排序(sort,reverse)

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

reverse方法是将list逆置

>a=[1,4,2,3]
>a
[1,4,2,3]
>a.reverse()
>a
[3,2,4,1]
>a.sort()
>a
[1,2,3,4]
>a.sort(reverse=True)
>a
[4,3,2,1]

列表的嵌套

1.列表嵌套

作用:类似while循环的嵌套,列表也是支持嵌套的

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

schoolnames = [
     ['北京大学',‘清华大学’],
     [‘南开大学’,‘天津大学’,‘南京示范大学’],
     ['山东大学',‘中国体育大学’]
]

2.应用

案例:一个学校,由3个办公室,现在有8为老师等待工位的分配,请编写程序,晚上随机的分配

#encoding=utf-8

import random

#定义一个列表来保存3个办公室
offices = [[],[],[]]

#定义一个列表用来存储8位老师的名字
names = ['a','b','c','d','e','f','g','h']

i = 0
for name in names:
    index = random.randint(0,2)
    offices[index].append(name)

i = 1
for tempnames in offices:
    print('办公室%d的人数为:%d' %(i,len(tempnames)))
    i += 1
    for name in tempnames:
        print("%s" %name,end='')
    print("
")
    print("-"*20)

#运行结果:
办公室1的人数为:4
abcd
----------------------
办公室2的人数为:3
dgh
----------------------
办公室3的人数为:1
f
原文地址:https://www.cnblogs.com/FlameLuo/p/9691967.html