继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

米琪卡哇伊
关注TA
已关注
手记 199
粉丝 4
获赞 28

列表创建和操作

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



本章成果

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

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP