Python基础语法day_03——列表
day_03
- 列表是什么
在Python中,用[]来表示列表,并用逗号来分隔其中的元素。下面是一个简单的列表示例:
>>> bicycles = ['treak','cannondale','redline','specialized']
>>> print(bicycles)
Python会将列表打印出来,包括方括号
['treak', 'cannondale', 'redline', 'specialized']
- 访问列表元素
利用[]来访问列表中的元素
>>> print(bicycles[0])
treak
上条语句利用了bicycles[0]来访问列表中的第一个元素
我可以使用昨天所讲的字符串方法,来使输出更加简洁——使用title()方法:
>>> print(bicycles[0].title())
Treak
- 索引是从0开始而不是从1开始
你可以看到
>>> bicycles = ['treak','cannondale','redline','specialized']
>>> print(bicycles[1])
cannondale
>>> print(bicycles[3])
specialized
下标为1的元素是cannondale、下标为3的元素是specialized
通过访问[-1]可以得到最后一个列表元素
>>> bicycles = ['treak','cannondale','redline','specialized']
>>> print(bicycles[-1])
specialized
同理访问[-2]得到倒数第二个元素,[-3]倒数第三个元素
- 使用列表中的各个值
下面来尝试提取一款自行车,并使用这个值来创建一条信息:
>>> message = "My first bicycles was a "+bicycles[1].title() + "."
>>> print(message)
My first bicycles was a Cannondale.
- 修改列表元素
例如,假设有一个动物列表,其中第一个元素是'tiger' ,如何修改它的值呢?
>>> animal = ['tiger','bird','fox']
>>> print(animal)
['tiger', 'bird', 'fox']
>>> animal[0] = 'monkey'
>>> print(animal)
['monkey', 'bird', 'fox']
- 在列表中添加元素
使用方法append()添加元素
>>> animal.append('fish')
>>> print(animal)
['monkey', 'bird', 'fox', 'fish']
这样就在列表中添加了一个函数
你还可以建立一个空列表,将元素一个一个地添加进去
>>> fruits = []
>>> fruits.append('apple')
>>> fruits.append('banana')
>>> fruits.append('cherry')
>>> print(fruits)
得到的结果是
['apple', 'banana', 'cherry']
但是使用这种方法添加的函数永远是在最后一个
为此你需要一个可以插入元素的方法
使用insert()方法可以在列表的任何位置添加新的元素。为此,你需要指定新元素的索引和值:
>>> fruits.insert(0,'lemon')
>>> print(fruits)
使用这个方法,'lemon' 被插入到列表开头,这种操作将列表中所有的元素都右移一个位置
['lemon', 'apple', 'banana', 'cherry']
- 在列表中删除元素
使用del语句删除元素
使用del语句的前提是,知道需要删除的元素的位置
>>> fruits = ['apple','banana','orange']
>>> print(fruits)
['apple', 'banana', 'orange']
>>> del fruits[0]
>>> print(fruits)
['banana', 'orange']
使用del语句删除了,列表中的第一个元素
['apple', 'banana', 'orange']
['banana', 'orange']
使用del可以删除任何位置的列表元素,条件是知道索引
使用方法pop()删除元素
方法pop()可删除列表末尾的元素,并让你能够接着使用他
>>> fruits = ['apple','banana','orange']
>>> print(fruits)
['apple', 'banana', 'orange']
>>> popend_fruits = fruits.pop()
>>> print(fruits)
['apple', 'banana']
>>> print(popend_fruits)
orange
如果水果是按时间购买的,我想知道最后购买的水果是哪一种?
>>> fruits = ['apple','banana','orange']
>>> print(fruits)
['apple', 'banana', 'orange']
>>> last_buy = fruits.pop()
>>> print("我最后买的水果是" + last_buy.title())
我最后买的水果是Orange
弹出列表中任何位置处的元素
实际上,可以使用pop()来弹出列表中的任何元素,只需在括号中指定要删除元素的索引即可
>>> fruits = ['apple','banana','orange']
>>> print(fruits)
['apple', 'banana', 'orange']
>>> second_fruits = fruits.pop(1)
>>> print(second_fruits)
apple
有时候,你不知带元素在列表中的位置。如果你只知道要删除的元素的值,可以使用方法remove()
假设,我们要从列表中删除值 ‘apple’
>>> fruits = ['apple','banana','orange']
>>> print(fruits)
['apple', 'banana', 'orange']
>>> fruits.remove('apple')
>>> print(fruits)
['orange', 'banana']
使用remove()让Python知道'apple'出现在什么位置,并将元素删除
动手试一试
嘉宾名单:如果你可以邀请任何人一起共进晚餐,你会邀请哪些人?请创建一个列表,其中包含至少3个你想邀请的人;然后。使用这个列表打印信息,邀请这些人来与你共进晚餐。
#嘉宾名单
guest = ['Harry','Ben','Babo','Jack']
for i in range(0,4):
print("我想邀请"+guest[i].title()+"来与我共进晚餐。")
我想邀请Harry来与我共进晚餐。
我想邀请Ben来与我共进晚餐。
我想邀请Babo来与我共进晚餐。
我想邀请Jack来与我共进晚餐。
guest = ['Harry','Ben','Babo','Jack']
print("我想邀请"+guest[0].title()+"," +guest[1].title() +","+guest[2].title() +","+guest[3].title()+"来与我共进晚餐。")
我想邀请Harry,Ben,Babo,Jack来与我共进晚餐。
修改嘉宾名单:你刚刚得知有位嘉宾无法赴约,因此需要邀请另外一名嘉宾
#嘉宾名单
guest = ['Harry','Ben','Babo','Jack']
guest.remove('Babo')
guest.insert(2,'Mical')
print("我想邀请"+guest[0].title()+"," +guest[1].title() +","+guest[2].title() +","+guest[3].title()+"来与我共进晚餐。")
我想邀请Harry,Ben,Mical,Jack来与我共进晚餐。
添加嘉宾:你找到了一个更大的餐桌,可以容纳更多的嘉宾。请再邀请多三个嘉宾
- 使用insert()在邀请名单的开头和中间添加一名嘉宾
- 使用append()将最后一名新嘉宾添加到名单末尾
- 打印一条信息,向名单中的每位嘉宾发出邀请
guest = ['Harry','Ben','Babo','Jack']
guest.remove('Babo')
guest.insert(2,'Mical')
guest.insert(0,'Batman')
guest.insert(2,'Ironman')
guest.append('Superman')
for i in range(0,8):
print("我想邀请"+guest[i].title()+"来与我共进晚餐。")
我想邀请Batman来与我共进晚餐。
我想邀请Harry来与我共进晚餐。
我想邀请Ironman来与我共进晚餐。
我想邀请Ben来与我共进晚餐。
我想邀请Mical来与我共进晚餐。
我想邀请Jack来与我共进晚餐。
我想邀请Superman来与我共进晚餐。
缩减名单:你刚得知新购买的餐桌无法按时到达,因此只能邀请两名嘉宾
- 在程序末尾打印你只能邀请两名嘉宾的信息
- 使用pop()不断地删除名单中的嘉宾,直到只剩下两名嘉宾,每次从名单中弹出一名嘉宾是,都打印一条信息,让该嘉宾知道的情况,无法与你共进晚餐
- 对于剩下的两位嘉宾,打印一份信息,告知他们仍然在邀请的嘉宾之列
guest = ['Harry','Ben','Babo','Jack']
guest.remove('Babo')
guest.insert(2,'Mical')
guest.insert(0,'Batman')
guest.insert(2,'Ironman')
guest.append('Superman')
print("非常抱歉,因为餐桌的原因,我只能邀请三个人来参加我的晚餐"+"\n\n")
one_guest = guest.pop()
print("非常抱歉"+ one_guest+"不能邀请你来我的晚餐")
two_guest = guest.pop()
print("非常抱歉"+ two_guest+"不能邀请你来我的晚餐")
three_guest = guest.pop()
print("非常抱歉"+ three_guest+"不能邀请你来我的晚餐")
four_guest = guest.pop()
print("非常抱歉"+ four_guest+"不能邀请你来我的晚餐" + "\n\n")
for i in range(0,4):
print("你好"+guest[i].title()+"你仍然在我的嘉宾之列。")
非常抱歉,因为餐桌的原因,我只能邀请三个人来参加我的晚餐
非常抱歉Superman不能邀请你来我的晚餐
非常抱歉Jack不能邀请你来我的晚餐
非常抱歉Mical不能邀请你来我的晚餐
非常抱歉Ben不能邀请你来我的晚餐
你好Batman你仍然在我的嘉宾之列。
你好Harry你仍然在我的嘉宾之列。
你好Ironman你仍然在我的嘉宾之列。
- 组织列表
在你创建的列表单中。元素的排列通常是无法预测的,因为你并非总能控制用户提供的数据。
使用方法sort()对列表进行永久性排序
Python中的sort()方法能较为轻松地对列表进行排序。假设你有一个汽车列表,并让其中的汽车按字母顺序排序。
cars = ['bmw','audi','fengtian','dazhong']
cars.sort()
print(cars)
['audi', 'bmw', 'dazhong', 'fengtian']
你还可以按照字母逆序排序,只需要向sort()方法传递参数reverse=True
cars = ['bmw','audi','fengtian','dazhong']
cars.sort(reverse=True)
print(cars)
['fengtian', 'dazhong', 'bmw', 'audi']
使用函数sorted()对列表进行临时排序
如果你想保留原来的列表,你可以使用函数sorted()对列表进行临时排序
cars = ['bmw','audi','fengtian','dazhong']
print("使用函数sorted()进行排列的列表")
print(sorted(cars))
print("原来的列表")
print(cars)
使用函数sorted()进行排列的列表
['audi', 'bmw', 'dazhong', 'fengtian']
原来的列表
['bmw', 'audi', 'fengtian', 'dazhong']
倒着打印列表
可使用方法reverse()。假设汽车是按照购买时间排列的,可以轻松地按照相反的顺序排列其中的汽车
cars = ['bmw','audi','fengtian','dazhong']
print("原来的列表")
print(cars)
print("按照购买时间的顺序逆序")
cars.reverse()
print(cars)
原来的列表
['bmw', 'audi', 'fengtian', 'dazhong']
按照购买时间的顺序逆序
['dazhong', 'fengtian', 'audi', 'bmw']
确定列表的长度——使用len()函数
print("该列表的长度")
print(len(cars))
该列表的长度
4
Python基础语法day_03——列表的更多相关文章
- Python基础语法之列表 元组
1 列表 列表由一系列按照特定顺序的元素组成,其中的元素可以使不同的数据类型,用[ ]来表示列表,用逗号来分割列表中的元素. 1.1 列表操作之切片 a = [1, 2, 3, 4, 5, 6, 7, ...
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
- Python 基础语法(二)
Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...
- 吾八哥学Python(四):了解Python基础语法(下)
咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...
- Python基础语法(三)
Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...
- python学习第三讲,python基础语法之注释,算数运算符,变量.
目录 python学习第三讲,python基础语法之注释,算数运算符,变量. 一丶python中的基础语法,注释,算数运算符,变量 1.python中的注释 2.python中的运算符. 3.pyth ...
- python基础语法、数据结构、字符编码、文件处理 练习题
考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...
- python基础语法及知识点总结
本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...
- 【转】Python基础语法
[转]Python基础语法 学习一门编程语言,通常是学习该语言的以下几个部分的内容: 基础语法:如,变量的声明与调用.基本输出语句.代码块语法.注释等: 数据类型:通常都为 数字.字符串.布尔值.数组 ...
随机推荐
- 数据挖掘入门系列教程(十点五)之DNN介绍及公式推导
深度神经网络(DNN,Deep Neural Networks)简介 首先让我们先回想起在之前博客(数据挖掘入门系列教程(七点五)之神经网络介绍)中介绍的神经网络:为了解决M-P模型中无法处理XOR等 ...
- Github C 编译器项目 8cc main函数中用到的 C库函数
atexit C 库函数 int atexit(void (*func)(void)) 当程序正常终止时,调用指定的函数 func.您可以在任何地方注册你的终止函数,但它会在程序终止的时候被调用. s ...
- vue项目中使用bpmn-基础篇
内容概述 本系列“vue项目中使用bpmn-xxxx”分为五篇,均为自己使用过程中用到的实例,手工原创,目前属于陆续更新中.主要包括vue项目中bpmn使用实例.应用技巧.基本知识点总结和需要注意事项 ...
- mac OS 卸载node.js及npm
通过homebrew安装的 输入卸载命令 brew uninstall node 通过官网下载pkg安装包的 输入卸载命令 sudo rm -rf /usr/local/{bin/{node,npm} ...
- 蘑菇街CEO陈琪上市致辞:科技是生产力 美丽也是生产力
雷帝网 乐天 12月7日报道 蘑菇街CEO陈琪今日在纽交所上市致辞时表示,蘑菇街的使命是让时尚触手可及,立志成为最领先的时尚目的地,并把"科技是生产力,美丽也是生产力"作为蘑菇街价 ...
- Vue项目中设置每个单页面的标题
两种实现方法,第一种方法引入插件,第二种为编程方式实现(推荐) 首先在路由文件index.js中给每个单页面路由添加title routes: [{ path: '/', name: ...
- java集合的简单用法
typora-root-url: iamge [TOC] 1.集合接口 1.1将集合的接口与实现分离 与现代的数据结构类库的常见情况一样,Java集合类库也将接口(interface)与实现(im ...
- WordPress发布文章/页面时自动添加默认的自定义字段
如果你每篇文章或页面都需要插入同一个自定义字段和值,可以考虑在WordPress发布文章/页面时,自动添加默认的自定义字段.将下面的代码添加到当前主题的 functions.php 即可: 1 2 3 ...
- 使用JXL.jar实现JAVA对EXCEL的读写操作
简介: jxl.jar是通过java操作excel表格的工具类库 jxl操作excel包括对象Workbook(工作簿),Sheet(工作表) ,Cell(单元格). 一个excel就对应一个Work ...
- 洛谷 P1816 忠诚 ST函数
题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨,财主还是对管家产生了 ...