前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天 3 分钟,小闫带你学 Python(十一)

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

作者头像
小闫同学啊
发布2019-08-02 15:19:33
6960
发布2019-08-02 15:19:33
举报
文章被收录于专栏:小闫笔记小闫笔记小闫笔记
正文共:2495 字 6 图 预计阅读时间:7 分钟

每日分享

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

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

小闫语录:

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

前言

昨天的文章『每天 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 = 0
while i < length:
    print(mylist[i])
    i += 1

执行结果如下:

EthanYan
1
(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 = 0
for name in names:
    # random.randint(0,2)
    # 随机产生一个 0 到 2 之间的整数
    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)

输出结果为:

办公室1的人数为:1
C

--------------------
办公室2的人数为:3
ABE

--------------------
办公室3的人数为:4
DFGH

--------------------

4.作业

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 每日分享
  • 前言
  • 1.列表介绍
    • 1.1 打印列表
      • 1.2 列表的下标索引
        • 1.3 列表的切片操作
        • 2.列表的循环遍历
          • 2.1 使用 for 循环
            • 2.2 使用 while 循环
            • 3. 列表的嵌套
              • 3.1 应用
                • 3.2 应用答案
                • 4.作业
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档