2021-07-10

宝贝儿,一起学Pytho...

宝贝儿,一起学Python呀 - VI - 什么结衣雅美,我全都要!

Python中的列表和循环

还记得上篇结尾,我留的小作业吗?

1
2
3
4
name='长泽雅美'
name='石原里美'
name='新垣结衣'
print(name)

是的,打印name, 结果是’新垣结衣’。相信随着新垣结衣和星野源宣布合体,无数中国宅男纷纷表示无比的悲痛,更有甚者开始分析中国老爷们儿完爆日本男人的99999条理由,反正不知道星野源这家伙到底用了什么手段迷惑了我们新垣结衣。

想必您也看出来了,别人着急我不急,急坏身体无人替。为什么我能如此镇定?因为我是长泽雅美的粉儿。。。

常规性跑题。话说 name = ‘长泽雅美’ 您都知道,这是一个赋值语句,作用是把一个值赋值给变量name. 这里咱们也别费劲讲什么变量啦,内存啦,指针啦什么的。我不会肯定是一个原因,另外就是咱们拿Python干活儿,一时半会儿用不上这个。等真能用上,估计您也得转行程序员了。

上篇也说了,Python对待变量的态度很随便。不用声明变量支持的数据类型,您灌什么值变量就是什么类型。但是这里有个问题,就是取变量存的值时,Python只会取最近一次存入的,就如同上面例子中,输出name的结果是新垣结衣。

有身体好的大哥说了,选什么选,老子全都要!什么雅美里美结衣悠亚阿香的,都给我整来!那普通的数据类型是满足不了您了,这时,我们就得请列表出山喽!

1
name = ['石原里美','新垣结衣','长泽雅美'] # []表示这是列表类型,列表里的元素用,隔开

怎么样,像不像您买了栋大别墅,然后把小姐姐们都请进来入住?在Python中,表示列表的标记就是[],列表里每一项用,隔开。列表里的每一项都可以是任意的数据类型,而且无需一样,比如:

1
list1 = ['联想',1984]

这里的列表list1有两项,字符串’联想’和数字1984。

现在小姐姐都在您的大房子里了,怎么把怹们挨个请出来呢?聪明的您一定想到了,print()呗。好吧,我们print(name)试试,结果是:

[‘石原里美’, ‘新垣结衣’, ‘长泽雅美’]

嗯? Python很不讲究,直接把列表给打出来了,这相当于小姐姐们扛着别墅就过来了,不行,我想要,不是,这位身体好大哥想要的应该是其中某一位小姐姐,对吧?把这句话翻译成专业点的术语,就是我们要访问列表中的项。

可以。

列表通过索引定位列表中的每一项,相当于给每位小姐姐都编了号。当然,按照搞计算机大哥们的习惯,编号从0开始。不知道为什么大哥们这么喜欢0。。。所以,我们可以这么访问小姐姐们:

1
2
3
4
name = ['石原里美','新垣结衣','长泽雅美']
print(name[0]) #name[0]表示列表name中的第一项,就是石原里美啦
print(name[1]) #name[0]表示列表name中的第二项,就是新垣结衣啦
print(name[2]) #name[0]表示列表name中的第三项,就是长泽雅美啦

用索引除了访问列表中的项,也可以更新列表中的项,比如:

1
name[2] = '三上悠亚'

那就是把原来的长泽雅美换成了三上悠亚。

或者,身体好的大哥说,4位小姐姐老子也能对付,不用替换,直接把三上加进来!

那就得用到列表自带的append方法了。

1
name.append('三上悠亚') #列表变量.append(想添加到列表的值)

这时,name就变成了

1
name = ['石原里美','新垣结衣','长泽雅美','三上悠亚']

append 方法会直接把项目添加到列表结尾。

或者这位小哥哥又说了,三上悠亚在我心中地位第一,干什么给她放最后?给我放最前面!

得嘞这位爷,咱也别费劲了,我告诉您一个办法,您爱放哪儿放哪儿行不?

1
name.insert(0,'三上悠亚') #insert方法用于把项目插入到列表中,格式就是 列表变量.insert(想插入的索引,想插入的项目)

用insert方法,您爱放哪都行,行了吧?

以上咱们聊的是用索引访问列表中的项。身强力壮小哥哥又说了,用索引一个一个的来不痛快,而且小姐姐太多也记不住索引,能不能一口气把小姐姐全请出来?

说来简单,直接用循环就行了。话说一般计算机语言中,循环和条件判断都是非常重要和核心的。Python的循环主要是for循环和while循环,其中for循环提供了很好的访问列表的方法,简单粗暴,来咱们走一个:

1
2
3
girls = ['石原里美','新垣结衣','长泽雅美']  # 定义一个列表存放数据
for i in girls: # 利用循环输出数组中的每一个元素
print(i) #必须必须注意,这行开始有一个tab

看见了吧,就是这么简单。这里需要注意的是,i 本身也是一个变量,这个循环里,先定义一个i用于存放列表中元素,然后按照索引顺序遍历列表中的每一项,然后把此项数值赋给i,然后print()把i的内容输出,然后循环访问列表中的下一项,直到遍历完毕。

另外我们也引出了Python中写代码一个很重要的内容,缩进。和其它语言不同,Python不用{}标识代码块,编写Python代码时,主要的区分代码块的标记就是tab。这里的tab也可以用4个空格代替,但是要一致,不能一会儿tab一会儿四个空格。这个缩进不能省略,上面的例子中如果没有缩进,会直接报错。

还有一个重要的概念,就是字符串也可以看做列表,具有列表的特点,比如通过索引访问字符串中的元素,这个就请您自己试试。

好了,到了留作业的时候,请问,以下的代码输出结果是什么?

1
2
3
slogan = '让世界充满爱'
for i in slogan:
print(i)

今天就到这里,祝您愉快,咱们下篇再见。至于下篇咱们聊什么?让我想想吧,我现在满脑子都是长泽雅美。。。