零基础入门学习Python(10)--列表:一个打了激素的数组
前言
有时候我们需要把一些东西暂时保存起来,因为他们有着一些直接或间接的联系,我们需要把它们放在某个组或者集合中,未来可能用得上。
很多接触过编程的朋友都知道,都接触过数组这个概念,那么数组这个概念事实上很简单,把一大堆同总类型数据挨个摆在一块,然后通过数组的下标进行索引,但是数组有一个基本的要求,你所放在一起的数据必须类型要一致。
由于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])
>>> 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)--列表:一个打了激素的数组的更多相关文章
- 《零基础入门学习Python》【第一版】视频课后答案第001讲
测试题答案: 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方 ...
- 零基础入门学习Python(1)--我和Python的第一次亲密接触
前言 最近在学习Python编程语言,于是乎就在网上找资源.其中小甲鱼<零基础入门学习Python>试听了几节课,感觉还挺不错,里面的视频都是免费下载,小甲鱼讲话也挺幽默风趣的,所以呢,就 ...
- 【Python教程】《零基础入门学习Python》(小甲鱼)
[Python教程]<零基础入门学习Python>(小甲鱼) 讲解通俗易懂,诙谐. 哈哈哈. https://www.bilibili.com/video/av27789609
- 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案
国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...
- 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案
初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...
- 零基础入门学习Python(11)--列表:一个打了激素的数组(2)
前言 上节课我们介绍一个打了激素的数组,叫做列表.列表我们比作一个大仓库,你所能够具现化的东西,都可以往里面扔,它包罗万象.另外还介绍了三个往列表添加元素的方法,分别是: append(),exten ...
- 零基础入门学习Python(13)--元组:戴上了枷锁的列表
前言 这节课我们讨论主题是元祖:我们有个小标题戴上了枷锁的列表 我们都知道早在300多年前,孟德斯鸠在变法的时候说过,一切拥有权力的人都容易被滥用权力,这是万古不变的一条经验.但是呢,凡是拥有大权利的 ...
- 零基础入门学习Python(36)--类和对象:给大家介绍对象
知识点 Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前 ...
- 零基础入门学习Python(27)--集合:在我的世界里,你就是唯一
知识点 集合:set set和dict类似,也是一组key的集合,但不存储value.由于key不能重复,所以,在set中,没有重复的key. 集合中的元素的三个特征: 1)确定性(元素必须可hash ...
随机推荐
- spoj 839 OPTM - Optimal Marks&&bzoj 2400【最小割】
因为是异或运算,所以考虑对每一位操作.对于所有已知mark的点,mark的当前位为1则连接(s,i,inf),否则连(i,t,inf),然后其他的边按照原图连(u,v,1),(v,u,1),跑最大流求 ...
- 洛谷P4374 [USACO18OPEN]Disruption(树链剖分+线段树)
传送门 不难发现,每一条额外修的路径,会对原树上$(u,v)$路径上的所有边产生贡献 于是这就变成了一个路径修改 那么我们把每一条边赋值到它连接的两个点中深度较大的那个上面,然后每一次用树剖+线段树做 ...
- Spring的事务传播性与隔离级别以及实现事物回滚
一.事务的四个特性(ACID) 原子性(Atomicity):一个事务中所有对数据库的操作是一个不可分割的操作序列,要么全做,要么全部做. 一致性(Consistency): 数据不会因为事务的执行而 ...
- RHEL5.6环境下Oracle10g单主机安装步骤记录
操作环境:RedHat Enterprise Linux 5.6 安装版本:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64 ...
- 通过Fiddler监控Java应用发送请求及相应数据
Fiddler可以很好的监控浏览器发送的各种请求及响应数据,对于JAVA程序默认情况下是无法监控的,但实际需求中需要监控JAVA程序发送HTTP请求及返回数据是否正确. Fiddler默认配置的监听端 ...
- 基于CentOS6.5下如何正确安装和使用Tcpreplay来重放数据(图文详解)
前期博客 基于CentOS6.5下snort+barnyard2+base的入侵检测系统的搭建(图文详解)(博主推荐) tcpreplay是什么? 简单的说, tcpreplay是一种pcap包的重放 ...
- 解决asp.net 以及MVC中上传文件大小限制的问题
﹤system.web﹥ ﹤httpruntime requestlengthdiskthreshold="256" maxrequestlength="2097151& ...
- 置换测试: Mock, Stub 和其他
简介 在理想情况下,你所做的所有测试都是能应对你实际代码的高级测试.例如,UI 测试将模拟实际的用户输入(Klaas 在他的文章中有讨论)等等.实但际上,这并非永远都是个好主意.为每个测试用例都访问一 ...
- hihocoder offer收割编程练习赛12 A 歌德巴赫猜想
思路: 枚举. 实现: #include <iostream> #include <cstdio> #include <algorithm> using names ...
- 虚拟机下安装 CentOS 7 的几个小问题
※ 网络问题(Destination Host Unreachable) 安装时网络选择的"桥接"模式, 安装完毕,并配置IP地址后,发现只能ping通自己,局域网内的其他IP无法 ...