Python 列表

列表的定义

List (列表)是Python中使⽤最频繁的数据类型 ,专⻔⽤于存储⼀串数据,存储的数据称为 元素

  • 列表⽤ [ ] 定义,元素 之间使⽤ , 分隔
  • 列表的 索引 0 开始
  • 索引 就是元素在 列表 中的位置编号
name_list = ["zhangsan", "lisi", "wangwu"] 

# 取出列表中元素的值
print(name_list[1]) # 输出 lisi 

注意:从列表中取值时,如果 超出索引范围,程序会报错

 

列表常⽤操作

1 增加

  • 列表.append(数据) 在末尾追加数据
  • 列表.insert(索引, 数据) 在指定位置插⼊数据(位置前有空元素会补位)
  • 列表.extend(可迭代对象) 将可迭代对象中的元素 追加到列表

2 删除

  • 列表.remove(数据) 删除第⼀个出现的指定数据
  • del 列表[索引] 删除指定索引的数据
  • 列表.pop(索引) 删除指定索引数据,返回被删除的元素
  • 列表.clear() 清空列表

3 修改

  • 列表[索引] = 数据 修改指定索引的数据,数据不存在会报错

4 查询

  • 列表[索引] 根据索引取值,索引不存在会报错
  • 列表.index(数据) 根据值查询索引,返回⾸次出现时的索引,没有查到会报错
  • 列表.count(数据) 数据在列表中出现的次数
  • len(列表) 列表⻓度
  • if 数据 in 列表: 检查列表中是否包含某元素

5 排序

  • 列表.sort() 升序排序
  • 列表.sort(reverse=True) 降序排序
  • 列表.reverse() 逆序、反转

 

遍历

遍历:就是从头到尾依次列表中取出每⼀个元素,并执⾏相同的操作 。

Python中专⻔提供 for循环 实现遍历 :

# for 实现列表的遍历

for name in name_list:

    循环内部针对列表元素进⾏操作

    print(name) 

enumerate()枚举

通过枚举可以实现带下标索引的遍历:

chars = ['a','b','c']
for i , chr in enumerate(chars):
        print(i,chr)

0 a
1 b
2 c

 

列表嵌套

类似while循环的嵌套,列表也是⽀持嵌套的

⼀个列表中的元素⼜是⼀个列表,那么这就是列表的嵌套

schoolNames = [['北京⼤学','清华⼤学'],

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

                ['⼭东⼤学','中国海洋⼤学']] 

 

应⽤:

⼀个公司,有3个办公室,现在有8位员工等待⼯位的分配,请编写程序: 1> 完成随机的分配 2> 获取办公室信息

(每个办公室中的⼈数,及分别是谁)

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('\n')
    print('-'*20)

print("\n")

print("-"*20) 

应用场景:

尽管 Python 列表 中可以 存储不同类型的数据

但在开发中,更多的应⽤场景是 :

  • 1. 列表 存储相同类型的数据
  • 2. 通过 for循环,在循环体内部,针对列表中的每⼀项元素,执⾏相同的操作

 

 

 

Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

如下所示:

Python 表达式结果描述
len([1, 2, 3])3长度
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合
['Hi!'] * 4['Hi!', 'Hi!', 'Hi!', 'Hi!']重复
3 in [1, 2, 3]True元素是否存在于列表中
for x in [1, 2, 3]: print x,1 2 3迭代

Python列表截取

Python 的列表截取实例如下:

>>>L = ['Google', 'Runoob', 'Taobao']

>>> L[2] 'Taobao'

>>> L[-2] 'Runoob'

>>> L[1:] ['Runoob', 'Taobao']

>>>

描述:

Python 表达式结果描述
L[2]'Taobao'读取列表中第三个元素
L[-2]'Runoob'读取列表中倒数第二个元素
L[1:]['Runoob', 'Taobao']从第二个元素开始截取列表

Python列表函数&方法

Python包含以下函数:

序号函数
1cmp(list1, list2)
比较两个列表的元素
2len(list)
列表元素个数
3max(list)
返回列表元素最大值
4min(list)
返回列表元素最小值
5list(seq)
将元组转换为列表

Python包含以下方法:

序号方法
1list.append(obj)
在列表末尾添加新的对象
2list.count(obj)
统计某个元素在列表中出现的次数
3list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
5list.insert(index, obj)
将对象插入列表
6list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj)
移除列表中某个值的第一个匹配项
8list.reverse()
反向列表中元素
9list.sort(cmp=None, key=None, reverse=False)
对原列表进行排序
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值