zoukankan      html  css  js  c++  java
  • 字符串 列表 元组 字典 集合3.4列表

    一、引入

    通过前面学习的字符串我们可以实现用它存储一串信息,例如一个人的名字"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中的字典来进行存储

  • 相关阅读:
    [日常训练]FJ省夏令营day1
    [vijos1002][NOIP2005]过河
    [poj2446]Chessboard
    [bzoj1854][SCOI2010]游戏
    [模板]匈牙利算法
    [bzoj3670][2014湖北省队互测week2]似乎在梦中见过的样子
    笔记3-27
    笔记3-26
    笔记3-25
    Codeforces891C. Envy
  • 原文地址:https://www.cnblogs.com/dong4716138/p/15667785.html
Copyright © 2011-2022 走看看