一起学python-一起学Python:列表介绍
列表介绍
想一想:
前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢?
定义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:列表介绍相关推荐
- 一起学Python:列表介绍
列表介绍 想一想: 前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢?定义100个变量,每个变量存放一个学生的姓名可行吗?有更好的办法吗? 答: 列表 <1> ...
- 教练我想学python_教练,我想学Python:(3)列表和切片,边学习边刷leetcode,三,与,边学边,LeetCode...
系列 序:对Python一无所知的作者竟然开了这个系列- 学Python的第三天,Emmmm-我跳了,竟然在LeetCode中开始用Python3-学Python的一个私心当然是刷LeetCode舒服 ...
- 《看漫画学python》第1章介绍python的历史和特点
30年前,第一个Python编译器问世,标志着Python的第一个版本正式诞生. 30年后,Python成为了名副其实的最受欢迎程序设计语言之一,甚至在中小学里也掀起了Python狂潮. 经过30年的 ...
- python 个人项目_80个Python练手项目列表,学完立马成大神 牛逼了
Python 新手入门课 Python3 简明教程 Python版设计模式实践 Python Flask Web框架 Python3 基于 Flask 框架搭建个人博客 Flask 实现简单聊天室 D ...
- 一个月学通Python(一):Python安装及变量和类型介绍
一.前言 山东省小学已将Python内容纳入教材,江省已将信息技术教材VB编程语言替换为Python,计算机二级考试加入"Python语言程序设计"科目.越来越多的岗位也需要Pyt ...
- python中以下关于列表描述错误的_10. 以下关于列表操作的描述,错误的是:_学小易找答案...
[单选题]Python 语句 a=121+1.21 print(type(a)) 的输出结果为( ) [单选题]Python语句序列"s1 = [4, 5, 6]; s2 = s1; s1[ ...
- python中列表长度查询,从零开始学Python|如何在Python中查找列表的长度?
Python中的列表是有序且可更改的集合数据类型.列表也可以有重复的条目.所述的PythonLEN()方法被用于找到任何对象的长度.在本文中,我们将按以下顺序学习如何在python中查找列表的长度: ...
- 美国 AI 博士一针见血:Python 这样学最容易成为高手!
我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的: 先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, ...
- 美国AI博士一针见血:Python这样学最容易成为高手!
我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的: 先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, ...
最新文章
- 将c程序移植到linux,各位大侠:我把原来在linux运行的c程序移植到HPUNIX上出现了错误...
- 如何以大数据的JAX-RS响应的形式将JPA结果流化/序列化
- Windows下MYSQL的安装与配置
- 13-容器的端口映射
- 190616每日一句
- DSP6678核间通信
- ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER
- Adaptive Graph Convolutional Neural Networks
- 阿里云大学安全课程-阿里云首席安全研究员吴瀚清:WannaCry事件最“细思恐极“的一个事实是?...
- 2021-2027全球与中国BFSI中的聊天机器人市场现状及未来发展趋势
- 百度天气预报接口介绍
- IMU数据仿真公式推导及代码实现
- 西南交大计算机学校地址,西南交通大学有几个校区及校区地址
- 手机老是显示微信连接不到服务器,手机微信无法连接到服务器提示1237怎么办...
- 数仓 - 促销敏感度、评论敏感度
- linux系统查看CPU和内存数量,大小,频率
- [Mysql] REPLACE函数
- 关于机器人状态估计(8)-VSLAM/VIO应用与实用性评估
- 电商离线数仓项目-埋点数据/事件日志的基本格式详细理解
- python中的for循环和while循环
热门文章
- macOS Catalina 10.15.7 正式版 CDR/ISO镜像 for VMware
- 如何给网易云笔记添加好用的目录功能,提高生产效率
- lt;meta http-equiv=Content-Type content=text/html; charset=utf-8 /gt;
- 「TikTok+独立站」营销引流超全干货
- MAC 上配置 SecureCRT快捷键
- 蓝懿ios 技术内容和心得交流分享 11.2 打飞机主要步骤
- Mirai QQ群机器人零基础教程(1)
- window.location以及拆分uri
- html5黑板源码,支持移动端的HTML5 Canvas逼真黑板特效
- 微信开发者工具 wxmi修改模版颜色_开源免费,不错的轻量级图片批量处理工具...