列表介绍

想一想:

前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢?

定义100个变量,每个变量存放一个学生的姓名可行吗?有更好的办法吗?

答:

列表

<1>列表的格式

变量A的类型为列表

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

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

testList = [1, "a"]

<2>打印列表

demo:

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

print(namesList[0])

print(namesList[1])

print(namesList[2])

结果:

xiaoWang

xiaoZhang

xiaoHua

列表的循环遍历

1. 使用for循环

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

demo:

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

for name in namesList:

print(name)

结果:

xiaoWang

xiaoZhang

xiaoHua

2. 使用while循环

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

demo:

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

length = len(namesList)

i = 0

while i

print(namesList[i])

i+=1

结果:

xiaoWang

xiaoZhang

xiaoHua

列表的相关操作

列表中存放的数据是可以进行修改的,比如"增"、"删"、"改""

<1>添加元素("增"append, extend, insert)

append

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

demo:

#定义变量A,默认有3个元素

A = ["xiaoWang","xiaoZhang","xiaoHua"]

print("-----添加之前,列表A的数据-----")

for tempName in A:

print(tempName) #提示、并添加元素

temp = input("请输入要添加的学生姓名:")

A.append(temp)

print("-----添加之后,列表A的数据-----")

for tempName in A:

print(tempName)

结果:

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>修改元素("改")

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

demo:

#定义变量A,默认有3个元素

A = ["xiaoWang","xiaoZhang","xiaoHua"]

print("-----修改之前,列表A的数据-----")

for tempName in A:

print(tempName) #修改元素

A[1] = "xiaoLu"

print("-----修改之后,列表A的数据-----")

for tempName in A:

print(tempName)

结果:

-----修改之前,列表A的数据-----

xiaoWang

xiaoZhang

xiaoHua

-----修改之后,列表A的数据-----

xiaoWang

xiaoLu

xiaoHua

<3>查找元素("查"in, not in, index, count)

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

in, not in

python中查找的常用方法为:

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

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

demo

#待查找的列表

nameList = ["xiaoWang","xiaoZhang","xiaoHua"]

#获取用户要查找的名字

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 "", line 1, in

ValueError: "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:根据元素的值进行删除

demo:(del)

movieName = ["加勒比海盗","骇客帝国","第一滴血","指环王","霍比特人","速度与激情"]

print("------删除之前------")

for tempName in movieName:

print(tempName)

del movieName[2]

print("------删除之后------")

for tempName in movieName:

print(tempName)

结果:

------删除之前------

加勒比海盗

骇客帝国

第一滴血

指环王

霍比特人

速度与激情

------删除之后------

加勒比海盗

骇客帝国

指环王

霍比特人

速度与激情

demo:(pop)

movieName = ["加勒比海盗","骇客帝国","第一滴血","指环王","霍比特人","速度与激情"]

print("------删除之前------")

for tempName in movieName:

print(tempName)

movieName.pop()

print("------删除之后------")

for tempName in movieName:

print(tempName)

结果:

------删除之前------

加勒比海盗

骇客帝国

第一滴血

指环王

霍比特人

速度与激情

------删除之后------

加勒比海盗

骇客帝国

第一滴血

指环王

霍比特人

demo:(remove)

movieName = ["加勒比海盗","骇客帝国","第一滴血","指环王","霍比特人","速度与激情"]

print("------删除之前------")

for tempName in movieName:

print(tempName)

movieName.remove("指环王")

print("------删除之后------")

for tempName in movieName:

print(tempName)

结果:

------删除之前------

加勒比海盗

骇客帝国

第一滴血

指环王

霍比特人

速度与激情

------删除之后------

加勒比海盗

骇客帝国

第一滴血

霍比特人

速度与激情

<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-8import random

# 定义一个列表用来保存3个办公室

offices = [[],[],[]]

# 定义一个列表用来存储8位老师的名字

names = ["A","B","C","D","E","F","G","H"]

i = 0for name in names:

index = random.randint(0,2)

offices[index].append(name)

i = 1for tempNames in offices:

print("办公室%d的人数为:%d"%(i,len(tempNames)))

i+=1

for name in tempNames:

print("%s"%name,end="")

print(" ")

print("-"*20)

原文链接:做最专业最懂你的编程微刊技术分享平台,提供你最需要的开发学习资源。 我们专注于编程开发技术的学习与交流,我们坚持,每天进步一小步,人生进步一大步!关注【编程微刊】,与我们一起学习进步。https://www.jianshu.com/u/05f416aefbe1

一起学python-一起学Python:列表介绍相关推荐

  1. 一起学Python:列表介绍

    列表介绍 想一想: 前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢?定义100个变量,每个变量存放一个学生的姓名可行吗?有更好的办法吗? 答: 列表 <1> ...

  2. 教练我想学python_教练,我想学Python:(3)列表和切片,边学习边刷leetcode,三,与,边学边,LeetCode...

    系列 序:对Python一无所知的作者竟然开了这个系列- 学Python的第三天,Emmmm-我跳了,竟然在LeetCode中开始用Python3-学Python的一个私心当然是刷LeetCode舒服 ...

  3. 《看漫画学python》第1章介绍python的历史和特点

    30年前,第一个Python编译器问世,标志着Python的第一个版本正式诞生. 30年后,Python成为了名副其实的最受欢迎程序设计语言之一,甚至在中小学里也掀起了Python狂潮. 经过30年的 ...

  4. python 个人项目_80个Python练手项目列表,学完立马成大神 牛逼了

    Python 新手入门课 Python3 简明教程 Python版设计模式实践 Python Flask Web框架 Python3 基于 Flask 框架搭建个人博客 Flask 实现简单聊天室 D ...

  5. 一个月学通Python(一):Python安装及变量和类型介绍

    一.前言 山东省小学已将Python内容纳入教材,江省已将信息技术教材VB编程语言替换为Python,计算机二级考试加入"Python语言程序设计"科目.越来越多的岗位也需要Pyt ...

  6. python中以下关于列表描述错误的_10. 以下关于列表操作的描述,错误的是:_学小易找答案...

    [单选题]Python 语句 a=121+1.21 print(type(a)) 的输出结果为( ) [单选题]Python语句序列"s1 = [4, 5, 6]; s2 = s1; s1[ ...

  7. python中列表长度查询,从零开始学Python|如何在Python中查找列表的长度?

    Python中的列表是有序且可更改的集合数据类型.列表也可以有重复的条目.所述的PythonLEN()方法被用于找到任何对象的长度.在本文中,我们将按以下顺序学习如何在python中查找列表的长度: ...

  8. 美国 AI 博士一针见血:Python 这样学最容易成为高手!

    我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的: 先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, ...

  9. 美国AI博士一针见血:Python这样学最容易成为高手!

    我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的: 先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, ...

最新文章

  1. 将c程序移植到linux,各位大侠:我把原来在linux运行的c程序移植到HPUNIX上出现了错误...
  2. 如何以大数据的JAX-RS响应的形式将JPA结果流化/序列化
  3. Windows下MYSQL的安装与配置
  4. 13-容器的端口映射
  5. 190616每日一句
  6. DSP6678核间通信
  7. ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER
  8. Adaptive Graph Convolutional Neural Networks
  9. 阿里云大学安全课程-阿里云首席安全研究员吴瀚清:WannaCry事件最“细思恐极“的一个事实是?...
  10. 2021-2027全球与中国BFSI中的聊天机器人市场现状及未来发展趋势
  11. 百度天气预报接口介绍
  12. IMU数据仿真公式推导及代码实现
  13. 西南交大计算机学校地址,西南交通大学有几个校区及校区地址
  14. 手机老是显示微信连接不到服务器,手机微信无法连接到服务器提示1237怎么办...
  15. 数仓 - 促销敏感度、评论敏感度
  16. linux系统查看CPU和内存数量,大小,频率
  17. [Mysql] REPLACE函数
  18. 关于机器人状态估计(8)-VSLAM/VIO应用与实用性评估
  19. 电商离线数仓项目-埋点数据/事件日志的基本格式详细理解
  20. python中的for循环和while循环

热门文章

  1. macOS Catalina 10.15.7 正式版 CDR/ISO镜像 for VMware
  2. 如何给网易云笔记添加好用的目录功能,提高生产效率
  3. lt;meta http-equiv=Content-Type content=text/html; charset=utf-8 /gt;
  4. 「TikTok+独立站」营销引流超全干货
  5. MAC 上配置 SecureCRT快捷键
  6. 蓝懿ios 技术内容和心得交流分享 11.2 打飞机主要步骤
  7. Mirai QQ群机器人零基础教程(1)
  8. window.location以及拆分uri
  9. html5黑板源码,支持移动端的HTML5 Canvas逼真黑板特效
  10. 微信开发者工具 wxmi修改模版颜色_开源免费,不错的轻量级图片批量处理工具...