零基础入门学习Python(10)--列表:一个打了激素的数组
2018-03-05 11:01
866 查看
前言
有时候我们需要把一些东西暂时保存起来,因为他们有着一些直接或间接的联系,我们需要把它们放在某个组或者集合中,未来可能用得上。很多接触过编程的朋友都知道,都接触过数组这个概念,那么数组这个概念事实上很简单,把一大堆同总类型数据挨个摆在一块,然后通过数组的下标进行索引,但是数组有一个基本的要求,你所放在一起的数据必须类型要一致。
由于Python的变量没有数据类型,所以按这个节奏来说,Python是没有数组的,但是Python加入了更加强大的列表。如果把数组比作是一个集装箱的话,那么Python的列表就是一个工厂的仓库,基本上所有的Python程序都需要使用到我们的列表,包括我们之前的打飞机游戏。
知识点
创建列表
创建一个普通列表>>> member = ['小甲鱼','小布丁','黑夜','怡静'] >>> member ['小甲鱼', '小布丁', '黑夜', '怡静'] >>> number = [1,2,3,4,5] >>> number [1, 2, 3, 4, 5]
创建一个混合列表:
>>> mix = [1,'小甲鱼',3.14,[1,2,3]] >>> mix [1, '小甲鱼', 3.14, [1, 2, 3]]
创建一个空列表:
>>> empty = [] >>> empty []
向列表添加元素
append()>>> member ['小甲鱼', '小布丁', '黑夜', '怡静'] >>> member.append()('葫芦娃哇') Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> member.append()('葫芦娃哇') TypeError: append() takes exactly one argument (0 given) >>> member.append('葫芦娃哇') >>> member ['小甲鱼', '小布丁', '黑夜', '怡静', '葫芦娃哇'] >>> >>> member.append('竹林小溪','Crazy迷恋') Traceback (most recent call last): File "<pyshell#13>", line 1, in <module> member.append('竹林小溪','Crazy迷恋') TypeError: append() takes exactly one argument (2 given)
extend()
>>> member.extend('竹林小溪','Crazy迷恋') Traceback (most recent call last): File "<pyshell#14>", line 1, in <module> member.extend('竹林小溪','Crazy迷恋') TypeError: extend() takes exactly one argument (2 given) >>> member.extend(['竹林小溪','Crazy迷恋']) >>> member ['小甲鱼', '小布丁', '黑夜', '怡静', '葫芦娃哇', '竹林小溪', 'Crazy迷恋'] >>>
insert()
有两个参数,第一个参数代表在列表中的位置,第二个参数表示在第一个参数的位置插入一个元素 >>> member.insert(0,'牡丹') >>> member ['牡丹', '小甲鱼', '小布丁', '黑夜', '怡静', '葫芦娃哇', '竹林小溪', 'Crazy迷恋'] >>>
课后习题
测试题
列表可以存放一些什么东西?它可以存放我们已经学习过的任何数据类型。
>>> mix = [1,'小甲鱼',3.14,[1,2,3]]
向列表增加元素有哪些方法?
append(),
extend(),
insert()
append()方法和
extend()方法都是向列表末尾增加元素,请问他们有什么区别?
apend()方法是将参数作为一个元素增加到列表的末尾。
extend()方法是将参数作为一个列表去扩展列表的末尾。
示例:
>>> a = [1,2.3]
>>>a.append([4,5])
>>> a
[1, 2.3, [4, 5]]
>>> a.extend([4,5])
4000
>>> a
[1, 2.3, [4, 5], 4, 5]
有列表
name = ['F','i','h','C'],如果小甲鱼想在元素
i和
h之间插入元素
s,应该用什么方法插入?
>>> name = ['F','i','h','C']
>>>
>>> name.insert(2,'s')
>>> name
['F', 'i', 's', 'h', 'C']
动动手
动动手看,并分析在这种情况下,向列表添加数据应当采用哪种方法比较好?假设给定以下列表:
member = ['小甲鱼','黑夜','迷途','怡静','秋舞斜阳']
要求将列表修改为:
member = ['小甲鱼',88,'黑夜',90,'迷途',85,'怡静',90,'秋舞斜阳',88]
方法一:使用insert() 和append方法修改列表
>>> member = ['小甲鱼','黑夜','迷途','怡静','秋舞斜阳'] >>> member.insert(1,88) >>> member.insert(3,90) >>> member.insert(5,85) >>> member.insert(7,90) >>> member.append(88) >>> member ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
方法二:重新创建一个痛名字的列表覆盖。
>>> member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88] >>> member ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
利用for循环打印上边member列表中的内容,如图:
>>> for i in member: print(i) 小甲鱼 88 黑夜 90 迷途 85 怡静 90 秋舞斜阳 88
上一题打印的格式不是很好,能不能修改一下代码打印成下图的样式?(至少两种方法)
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88] count = 0 length = len(member) while count < len(member): print(member[count],member[count+1]) count += 2 === RESTART: C:/Users/ThinkPad/AppData/Local/Programs/Python/Python36/3.py === 小甲鱼 88 黑夜 90 迷途 85 怡静 90 秋舞斜阳 88 ------------------------------------------------ member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88] for i in range(len(member)): if i%2 == 0: print(member[i],member[i+1]) === RESTART: C:/Users/ThinkPad/AppData/Local/Programs/Python/Python36/3.py === 小甲鱼 88 黑夜 90 迷途 85 怡静 90 秋舞斜阳 88
相关文章推荐
- 零基础入门学习Python(10)--列表:一个打了激素的数组
- 列表:一个打了激素的数组3 - 零基础入门学习Python012
- 零基础入门学习Python(12)--列表:一个打了激素的数组(3)
- 列表:一个打了激素的数组2 - 零基础入门学习Python011
- 零基础入门学习Python(11)--列表:一个打了激素的数组(2)
- 零基础入门学习Python(12)--列表:一个打了激素的数组(3)
- 【零基础入门学习Python笔记010】一个打了激素的数组1
- 【零基础入门学习Python笔记011】一个打了激素的数组2
- 【零基础入门学习Python笔记012】一个打了激素的数组3
- 【零基础入门学习Python笔记012】一个打了激素的数组3
- 列表:一个打了激素的数组 - 零基础入门学习Python010
- 零基础入门学习Python(29)--文件:一个任务
- 零基础入门学习Python(13)--元组:戴上了枷锁的列表
- 零基础入门学习Python(5):列表
- <<Python基础教程>>学习笔记 | 第02章 | 列表和数组
- 零基础入门学习Python学习笔记第五讲【列表】
- 零基础学习python_列表和元组(10-13课)
- java 从零开始,学习笔记之基础入门<数组列表(ArrayList)>(九)
- 【零基础入门学习Python笔记013】元祖:戴上了枷锁的列表
- 【零基础入门学习Python笔记013】元祖:戴上了枷锁的列表