码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-12-08 22:57:59      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:列表创建   列表操作   python   

列表创建和操作

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



本章成果

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

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




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

标签:列表创建   列表操作   python   

原文地址:http://blog.51cto.com/xwxhvip/2048866

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!