python数据类型-列表创建和操作

发布时间:2019-08-27 08:02:31编辑:auto阅读(1745)

    列表创建和操作

    a)  创建列表

    b)  基本操作

    c)  遍历

    与其说  列表  它是一个数据类型,用起来 更像一个灵活多变的数据存储方案

     

    创建列表

    创建列表例子

    player = 'mao 80 50'
     
    mao = '100 60 0'
     
    zou = '100 100 100'
     
    player1 = ['mao',100,50]
     
    mao = [100,60,0]
     
    type (mao)
    list
     
    list1 = []
     
    type(list1)
    list


    达含义

    先定义一个 字符串类型的数据 用来存储 游戏 用户名 --生命 --血值

     分别为'mao 80 50 '

    比如 mao 是角色名字 80生命值 50是等级

    是可以在一个大字符串当中,有效的分段存储,

    但是字符串取数据的时候 ,就会就问题

    比如生命力是 100 可是被***后就就80血   

    从字符串取数据的时候要分片,也就是切割。通过索引的形式,而这里用字符串取值的时候 每个角色取值的名字 长短不一,所以几个字符代表名字 ,是不可以的,血的值 也是经常变换的 所以显然字符串该被淘汰了。

    换一种数据 我们存储用户的成绩

     

    如 mao 的 成绩是 '100 -60 -0'

    zou的成绩 为全是满分'100--100--100' 分

    把这个方向放大 ,比如 这个班里 有60个同学

    那你就有60个这个的字符串。

    那你就要注意每个字符串的长度 每个元素的长度,都是不一样的

    所以不能方便的把里面的值 取出来。

    这里时候就要用到列表了[ ],

    数据类型 列表 就有它的用武之地了。

     

    上面的都是几组元素 相对于某个角色来说 这是它的 三个元素 ,相对某个同学来说这是它的三个评分

    所以这个时候 就要用到 列表存储这样的数据

     

    列表存储 用 方括号 隔开就行了[]是什么值就 存什么值

    理论上 列表是 可以存储 对象的  ,如 字符串 数字

    切忌 变量的名字 不要用关键字

     

    player1 用列表的方式 表达 = [‘milo’角色名称,100的生命力 50的***值]

    milo 列表的方式 表达 = [100,60,0]

    查看milo的值 为 list 列表形式

    ilst1 = [] 代表 等于 一个空的列表 后面 用到的时候可以选择带入值 进去

    type (ilst1) 查看类型 ,空的也是为列表的。

     

    记住不能定义变量名字为list 不能为 关键字

    如果你定义一个为 list的话,那你的函数就用不了,

    比如字符串 转换成 整数的时候 会到函数,所以这里面 变量的名字一定要注意

     


    创建列表无非是 创建几个元素,用逗号隔开。里面可以是任何一个值 甚至是函数 一个类。




    操作列表


    列表的操作跟 字符串操作很相似

    不管有几个值,反正是由逗号隔开的,列表内一共为12 3 个值

    字符串 我们 定义好了之后,都是是从0开始 0123456 每一个字符,

    每一个字符都有个索引,索引是on0开始的,至于为什么从0开始

    科普 是因为最早期的时候,计算机都为0  1,存储空间宝贵,每一个字节(byte)都是要加以利用,最小的都是从0开始,0不能浪费。从那个时候开始,计算机里用0变成了一个传统 一直到现在。



    取列表里面的值方法,因列表的值的方法 和字符串值的方法都是一样的。

    应为 字符串 和列表 在这里面 统称叫做序列类型的数据

     

    字符串可以通过索引取值,列表也可以


    通过列表取值例子

     mao
    [100, 60, 0]
     
    player1
    ['mao', 100, 50]
     
    player1[0]
    'mao'
     
    player1[1]
    100
     
    player1[:3]
    ['mao', 100, 50]
     
    player1[:2]
    ['mao', 100]


    表达含义

    mao列表

    列表包含100,60,0

     

    Player1列表

    包含’mao’,100,50

     

    通过索引的方式取player1列表值0

    返回值为’mao’

     

    通过索引的方式取player1列表值0

    返回值为100

     

    通过缩影的方式取值player1[:3]结束值到3

    返回列表类一直到元素3的值 ’mao’,100,50]

     

    通过缩影的方式取值player1[:2]结束值到2

    返回列表类一直到元素2的值 [’mao’,100]




    列表拼接

    mao + player1
    [100, 60, 0, 'mao', 100, 50]
     
    mao * 3
    [100, 60, 0, 100, 60, 0, 100, 60, 0]


    表达含义

    列表mao + 列表player1

    两个列表相加起来 就是一个大列表

    返回值 为两个列表拼接到一起成为一个大的列表。

     

    列表 mao * 3

    返回值 mao列表里面的值 重复3的列表

     

    列表的操作 可以跟字符串 去类比的记忆。


    提到一个词 序列

    列表跟字符串一样都是有序的排列,都叫做序列

     



    编列列表

    如果想把两个列表里面的值 全部取出来。

    在字符串里面可以 用 for 循环 迭代编列 把 值取出来

    既然列表跟字符串的操作都是相似的 列表可以用


    编列例子

    for i in '128r':
         print(i)
     
    1
    2
    8
    R
     
     
    for i in mao:
         print(i)
     
    100
    60
    0
     
    In [23]: mao
    Out[23]: [100, 60, 0]


    表达含义

    for 迭代取字符串里面的值

    循环送代打印出来

    1

    2

    8

    R

     

     

    下面是列表的遍历表示方法

    把每一个值都取出来

    For 循环送代 mao 列表

    循环送代打印值

    100

    60

    0



    本章成果

    知道创建列表,操作列表索引的概念。类比字符串来记忆

    列表的操作 都是根据 数据存储方式来进行的操作


    2017年12月8号 王宇林


关键字