0
点赞
收藏
分享

微信扫一扫

每天 3 分钟,小闫带你学 Python(十一)

小飞侠熙熙 2022-03-12 阅读 61

 

正文共:2495 字 6 图

预计阅读时间:7 分钟

每天 3 分钟,小闫带你学 Python(十一)_字符串

每日分享

Optimism is a happiness magnet. If you stay positive, good things and good people will be drawn to you.

乐观是幸福的磁铁。 如果你保持积极态度,那么好事和好人将会被你吸引。

小闫语录:

生活中有一种现象,不知你是否有感觉。每当很倒霉的时候,各种倒霉事络绎不绝的到来;当一个人顺风顺水的时候,好事也会源源不断。及时调整心态,微笑出发。


每天 3 分钟,小闫带你学 Python(十一)_嵌套_02

前言

每天 3 分钟,小闫带你学 Python(十一)_字符串_03

昨天的文章『​​每天 3 分钟,小闫带你学 Python(十)​​』讲解了字符串的相关操作,此处就不做回顾,直接开始今天的内容。

1.列表介绍

在保存单条数据时,使用字符串完美解决,当需要保存多条数据呢?答案便是列表。

列表格式如下:

[element1, element2, element3...]

元素之间使用逗号隔开,所有元素使用中括号包裹

注意:​列表中的元素可以是任意类型,可以是数字,可以是字符串等。

1.1 打印列表

>>> mylist = ['EthanYan', 1, (1,)]                                   
>>> print(mylist)
['EthanYan', 1, (1,)]

将列表 ​mylist​ 赋值给变量,然后进行打印。(当然你可以直接打印列表,此处只是做演示)

1.2 列表的下标索引

>>> mylist = ['EthanYan', 1, (1,)]                                   
>>> mylist[0]
'EthanYan'
>>> mylist[1]
1
>>> mylist[2]
(1,)
>>> mylist[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range

列表可以根据下标进行取值,如果超出下标范围会报错。

1.3 列表的切片操作

>>> mylist = ['EthanYan', 1, (1,)] 
>>> mylist[0:1]
['EthanYan']
>>> mylist[0:2]
['EthanYan', 1]

同样,列表也支持切片操作。

2.列表的循环遍历

2.1 使用 for 循环

上面提到可以使用下标索引进行取值,如果要求将所有的值取出来,是不是有些繁琐?如果再要求对每个值进行相关操作,是不是更麻烦?现在提供一种便捷的方式,那便是 ​for​ 循环。看如下示例:

mylist = ['EthanYan', 1, (1,)] for element in mylist:    print(element)

输出结果为:

EthanYan                                                             1                                                                   (1,)

是不是有些意思?既然可以使用 ​for​ 循环,那么一定可以使用 ​while​ 循环。下面继续。

2.2 使用 while 循环

mylist = ['EthanYan', 1, (1,)] # 计算列表长度length = len(mylist)i = 0while i < length:    print(mylist[i])    i += 1

执行结果如下:

EthanYan1(1,)

计算列表长度使用到了 len() 函数,也许你会想:编程不是从 0 开始计算吗?使用长度的话不是会超出取值范围吗?最后一个值是会超出范围,但是我们 ​while​ 循环中使用到了 ​<​ ,即长度取不到,取到前一个值,正好与下标相同。

3. 列表的嵌套

经过之前学习 ​if​ 条件判断的嵌套, ​for​ 循环的嵌套等等,是否已经猜出列表嵌套如何了?没错,列表的嵌套便是列表中嵌套列表,即列表元素是列表。形式如下:

schoolNames = [['北京大学','清华大学'],               ['南开大学','天津大学','天津师范大学'],               ['山东大学','中国海洋大学']]

也许你觉得这没什么用,下面看一个应用示例。

3.1 应用

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

先独立思考,然后再看下方答案

此处涉及到一个超纲的知识点,我们明天会讲解。此处做一个小提示:

列表中添加元素:

可以使用 ​append​ 方法,看如下实例:

mylist = ['EthanYan', 1, (1,)]mylist.append('Pythonnote')print(mylist)

输出结果:

['EthanYan', 1, (1,), 'Pythonnote']

可以看到 ​Pythonnote​ 添加到了列表的尾部。同时也说明列表是可变的类型。字符串是不变的,大家可以去尝试对字符串进行操作,然后观察原字符串是否发生变化?,此处留一个小作业。

3.2 应用答案

import random# 定义一个列表用来保存3个办公室offices = [[],[],[]]# 定义一个列表用来存储8位老师的名字names = ['A','B','C','D','E','F','G','H']i = 0for name in names:    # random.randint(0,2)    # 随机产生一个 0 到 2 之间的整数    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("\n")    print("-"*20)

输出结果为:

办公室1的人数为:1C--------------------办公室2的人数为:3ABE--------------------办公室3的人数为:4DFGH--------------------

4.作业

今日​学习目标:​学习列表的相关概念,熟悉列表的形式,掌握列表的循环遍历、下标索引、切片等相关操作。

1.验证字符串是否是可变的类型?

小提示:​可以对字符串进行操作,然后检查原字符串是否发生变化。

2.列表嵌套中应用进行练习。



每天 3 分钟,小闫带你学 Python(十一)_嵌套_04


每天 3 分钟,小闫带你学 Python(十一)_字符串_05

 

举报

相关推荐

0 条评论