ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

字符串 列表 元组 字典 集合-3.4列表

2021-12-09 16:04:47  阅读:111  来源: 互联网

标签:dong4716138 元组 dongge stu 3.4 names wanglaoshi 列表


一、引入

通过前面学习的字符串我们可以实现用它存储一串信息,例如一个人的名字"wanglaoshi",那么如何存储咱们班所有同学的名字呢?

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

答:列表

二、定义

定义列表的方式是[]

如下:用列表存储了3个学生的姓名

stu_names = ['wanglaoshi', 'dongge', 'dong4716138']

  

如下:用列表存储了5个分数

scores = [100, 99, 100, 95, 90]

  

三、基本使用

1. 下标

列表中存储的多个数据,我们可以对这些数据任意的使用

方式是:通过下标可以实现定位,然后就可以用这个数据

例如

stu_names = ['wanglaoshi', 'dongge', 'dong4716138']
print(stu_names[0])  # 此时只输出wanglaoshi
stu_names[0] = "Wang Lao Shi"
print(stu_names[0])  # 此时只输出Wang Lao Shi

  

注意:下标依然是从0开始使用

2. 切片

切片具体的知识我们已经学习过了,在列表也是支持切片操作的

stu_names = ['wanglaoshi', 'dongge', 'dong4716138']
stu_names[1:3]  # 此时得到一个新列表['wanglaoshi', 'dongge']

  

列表逆序

stu_names = ['wanglaoshi', 'dongge', 'dong4716138']
stu_names = [::-1]  # 得到一个新列表['dong4716138', 'dongge', 'wanglaoshi']

  

3. 遍历

所谓列表遍历,就是指将l将列表中的所有的数据依次获取打印

方式1:使用for循环(非常方便)

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

stu_names = ['wanglaoshi', 'dongge', 'dong4716138']
for name in stu_names:
    print(name)

  

结果:

wanglaoshi
dongge
dong4716138

  

方式2:使用while循环

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

stu_names = ['wanglaoshi', 'dongge', 'dong4716138']
length = len(stu_names)
i = 0
while i<length:
    print(stu_names[i])
    i+=1

  

结果:

wanglaoshi
dongge
dong4716138

  

四、注意

学习其他编程语言的同学,此时能够看到Python中的列表C语言C++语言、Java中的数组很类似

相同点:列表和数组都能实现多个数据的存储

不同点:列表可以存储不同类似的数据,而数组只能存储相同数据类型。

如下代码,完成了一个列表存储了多个信息

teacher = ["王老师", "山东省青岛市", 18, 176.5]  # 18为年龄,176.5为身高

  

技巧:虽然Python中的列表可以存储多个不同的数据类型,但一般情况下我们很少这么做,而是把数据类型相同的数据放到一个列表,这样操作时会更加方便,否则就会出现一会整数,一会字符串很容易出错

如果真的需要存储多个数据,例如一个人的信息由多个组成,此时一般用Python中的字典来进行存储

标签:dong4716138,元组,dongge,stu,3.4,names,wanglaoshi,列表
来源: https://www.cnblogs.com/dong4716138/p/15667785.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有