首页 > 编程语言 >Python--列表

Python--列表

时间:2024-02-13 22:22:48浏览次数:29  
标签:obj name person Python 列表 -- print append

Python--列表

列表是什么

列表由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或
所有家庭成员姓名的列表;

在python中使用([])来表示列表,并且使用逗号来分割其中的元素.

bicycles=['trek','cannondale','redline','specialized']
print(bicycles)
# ['trek', 'cannondale', 'redline', 'specialized']

如何访问列表元素

bicycles=['trek','cannondale','redline','specialized']
print(bicycles[0])
print(bicycles[0].title())
# trek
# Trek

列表索引

python中的列表索引和其他编程语言类似,都是从索引0开始的.所以要访问第4个元素的话索引应该是3.

bicycles=['trek','cannondale','redline','specialized']
print(bicycles[1])
print(bicycles[3])
# cannondale
# specialized

如果要访问最后一个列表元素的话可以使用索引-1.索引-2返回倒数第二个列表元素.索引-3返回第三个列表元素.这样就可以更快的访问列表最后的元素.

bicycles=['trek','cannondale','redline','specialized']
print(bicycles[-1])
# specialized

列表中的值的使用

列表中的值可以当作字符串来使用

bicycles=['trek','cannondale','redline','specialized']
message="my favorite bicycle was a "+bicycles[0].title()+'.';
print(message)
# my favorite bicycle was a Trek.

3-1 姓名:将一些朋友的姓名存储在一个列表中,并将其命名为 names。依次访问
该列表中的每个元素,从而将每个朋友的姓名都打印出来。

name=['harper','mike','joke']
print(name[0].title())
print(name[1].title())
print(name[-1].title())
# Harper
# Mike
# Joke

3-2 问候语:继续使用练习 3-1 中的列表,但不打印每个朋友的姓名,而为每人打
印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。

name=['harper','mike','joke']
print('Hello '+name[0].title())
print('Hi '+name[1].title())
print('Hi '+name[-1].title())
# Hello Harper
# Hi Mike
# Hi Joke

3-3 自己的列表:想想你喜欢的通勤方式,如骑摩托车或开汽车,并创建一个包含
多种通勤方式的列表。根据该列表打印一系列有关这些通勤方式的宣言,如“I would like
to own a Honda motorcycle”。

name=['汽车','自行车','卡车','公交车']
print('我经常乘坐'+name[-1]+'去上学')
print('去驾校练习'+name[0]+'的行驶')
print('我可以熟练的使用'+name[1])
# 我经常乘坐公交车去上学
# 去驾校练习汽车的行驶
# 我可以熟练的使用自行车

列表的增删改

列表是动态的类似一个动态的数组

我们可用通过下标很轻松的修改列表中的元素

name=['汽车','自行车','卡车','公交车']
print('我经常乘坐'+name[-1]+'去上学')
name[-1]='公共汽车'
print('我经常乘坐'+name[-1]+'去上学')
# 我经常乘坐公交车去上学
# 我经常乘坐公共汽车去上学

在末尾添加元素使用append()函数即可

name=['汽车','自行车','卡车','公交车']
print(name)
name.append('地铁')
print(name)
# ['汽车', '自行车', '卡车', '公交车']
# ['汽车', '自行车', '卡车', '公交车', '地铁']

可以先创建一个新的列表然后轻松的通过append创建列表.

name=[]
name.append('汽车')
name.append('自行车')
name.append('卡车')
name.append('公交车')
name.append('地铁')
print(name)
# ['汽车', '自行车', '卡车', '公交车', '地铁']

在列表中插入元素使用insert()函数,如果将元素插入0这个位置那么原本的元素都要向后移动一个元素.

name=[]
name.append('汽车')
name.append('自行车')
name.append('卡车')
name.append('公交车')
name.append('地铁')
print(name)
name.insert(0,'高铁')
print(name)
# ['汽车', '自行车', '卡车', '公交车', '地铁']
# ['高铁', '汽车', '自行车', '卡车', '公交车', '地铁']

使用del方法删除任意位置的元素

name=[]
name.append('汽车')
name.append('自行车')
name.append('卡车')
name.append('公交车')
name.append('地铁')
name.insert(0,'高铁')
print(name)
del name[0]
print(name)
# ['高铁', '汽车', '自行车', '卡车', '公交车', '地铁']
# ['汽车', '自行车', '卡车', '公交车', '地铁']

使用pop()删除列表的元素.同时在调用pop()方法的时候会有一个返回值,这个返回值就是将要弹出的那个值.

name=[]
name.append('汽车')
name.append('自行车')
name.append('卡车')
name.append('公交车')
name.append('地铁')
print(name)
last=name.pop();
print(name)
print(last)
# ['汽车', '自行车', '卡车', '公交车', '地铁']
# ['汽车', '自行车', '卡车', '公交车']
# 地铁
name=[]
name.append('汽车')
name.append('自行车')
name.append('卡车')
name.append('公交车')
name.append('地铁')
print(name)
temp=name.pop(0)
print(name)
print(temp)
# ['汽车', '自行车', '卡车', '公交车', '地铁']
# ['自行车', '卡车', '公交车', '地铁']
# 汽车

根据remove()方法来根据俩表中的元素来删除元素

name=[]
name.append('汽车')
name.append('自行车')
name.append('卡车')
name.append('公交车')
name.append('地铁')
print(name)
a='汽车'
print('接下来我们将删除'+a)
name.remove(a)
print(name)
# ['汽车', '自行车', '卡车', '公交车', '地铁']
# 接下来我们将删除汽车
# ['自行车', '卡车', '公交车', '地铁']

方法remove()只删除第一个指定的值。。如果要删除的值可能在列表中出现多次,就需要
使用循环来判断是否删除了所有这样的值。

3-4 嘉宾名单:如果你可以邀请任何人一起共进晚餐(无论是在世的还是故去的),
你会邀请哪些人?请创建一个列表,其中包含至少 3 个你想邀请的人;然后,使用这个
列表打印消息,邀请这些人来与你共进晚餐。

3-5 修改嘉宾名单:你刚得知有位嘉宾无法赴约,因此需要另外邀请一位嘉宾。
以完成练习 3-4 时编写的程序为基础,在程序末尾添加一条 print 语句,指出哪
位嘉宾无法赴约。
修改嘉宾名单,将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的姓名。
再次打印一系列消息,向名单中的每位嘉宾发出邀请。
3-6 添加嘉宾:你刚找到了一个更大的餐桌,可容纳更多的嘉宾。请想想你还想邀
请哪三位嘉宾。

person = ['张三', '李四', '王五']
print('我想要邀请' + str(person) + '来参加聚会')
print('但是' + person[-1] + '有事情来不来替换成小黑来参加')
person[-1] = '小黑'
print('我想要邀请' + str(person) + '来参加聚会')
print('我找到了一个更大的餐桌。')
person.insert(0, '小白')
print('现在我想要邀请' + str(person) + '来参加聚会')
# 我想要邀请['张三', '李四', '王五']来参加聚会
# 但是王五有事情来不来替换成小黑来参加
# 我想要邀请['张三', '李四', '小黑']来参加聚会
# 我找到了一个更大的餐桌。
# 现在我想要邀请['小白', '张三', '李四', '小黑']来参加聚会
person.insert(1, '小白')
print('现在我想要邀请' + str(person) + '来参加聚会')
# 现在我想要邀请['张三', '小白', '李四', '小黑']来参加聚会
person.append('小白')
print('现在我想要邀请' + str(person) + '来参加聚会')
# 现在我想要邀请['张三', '小白', '李四', '小黑']来参加聚会

3-7 缩减名单:你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾。
以完成练习 3-6 时编写的程序为基础,在程序末尾添加一行代码,打印一条你只
能邀请两位嘉宾共进晚餐的消息。
使用 pop()不断地删除名单中的嘉宾,直到只有两位嘉宾为止。每次从名单中弹
出一位嘉宾时,都打印一条消息,让该嘉宾知悉你很抱歉,无法邀请他来共进
晚餐。
对于余下的两位嘉宾中的每一位,都打印一条消息,指出他依然在受邀人之列。
使用 del 将最后两位嘉宾从名单中删除,让名单变成空的。打印该名单,核实程
序结束时名单确实是空的。

person = ['张三', '李四', '王五']
print('我想要邀请' + str(person) + '来参加聚会')
print('但是' + person[-1] + '有事情来不来替换成小黑来参加')
person[-1] = '小黑'
print('我想要邀请' + str(person) + '来参加聚会')
print('我找到了一个更大的餐桌。')

person.append('小白')
print('现在我想要邀请' + str(person) + '来参加聚会')
# 现在我想要邀请['张三', '小白', '李四', '小黑']来参加聚会
print('现在我只能要求两位来聚会')
print("很抱歉不能让"+person.pop()+"来参加晚餐了")
print("很抱歉不能让"+person.pop()+"来参加晚餐了")
print("我将会邀请"+person[0]+"参加晚餐")
print("我将会邀请"+person[1]+"参加晚餐")
del person[0]
del person[0]
print("下面列表为空")
print(person)
# 我想要邀请['张三', '李四', '王五']来参加聚会
# 但是王五有事情来不来替换成小黑来参加
# 我想要邀请['张三', '李四', '小黑']来参加聚会
# 我找到了一个更大的餐桌。
# 现在我想要邀请['张三', '李四', '小黑', '小白']来参加聚会
# 现在我只能要求两位来聚会
# 很抱歉不能让小白来参加晚餐了
# 很抱歉不能让小黑来参加晚餐了
# 我将会邀请张三参加晚餐
# 我将会邀请李四参加晚餐
# 下面列表为空
# []

使用sort()对列表进行字典序永久性修改排序.

cars=['bmw','toyota','audi','tesla']
print(cars)
cars.sort()
print(cars)
# 从大到小排序
cars.sort(reverse=True)
print(cars)
# ['bmw', 'toyota', 'audi', 'tesla']
# ['audi', 'bmw', 'tesla', 'toyota']
# ['toyota', 'tesla', 'bmw', 'audi']

如果向保留列表中原本的元素的顺序,同时想要看到这些列表排列之后的顺序.但是不影响原本在列表中的排列顺序.可用sorted()函数.并不改变原本列表的值

cars=['bmw','toyota','audi','tesla']
print(cars)
print(sorted(cars))
print(cars)
# ['bmw', 'toyota', 'audi', 'tesla']
# ['audi', 'bmw', 'tesla', 'toyota']
# ['bmw', 'toyota', 'audi', 'tesla']

reverse()方法永久性的反转列表当中的元素

cars=['bmw','toyota','audi','tesla']
print(cars)
cars.reverse()
print(cars)
# ['bmw', 'toyota', 'audi', 'tesla']
# ['tesla', 'audi', 'toyota', 'bmw']

使用len方法来确定列表的长度

cars = ['bmw', 'toyota', 'audi', 'tesla']
print("列表的长度为" + str(len(cars)))
# 列表的长度为4

3-8 放眼世界:想出至少 5 个你渴望去旅游的地方。
将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。
按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始
Python 列表。
使用 sorted()按字母顺序打印这个列表,同时不要修改它。
再次打印该列表,核实排列顺序未变。
使用 sorted()按与字母顺序相反的顺序打印这个列表,同时不要修改它。
再次打印该列表,核实排列顺序未变。
使用 reverse()修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了。
使用 reverse()再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来
的排列顺序。
使用 sort()修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺
序确实变了。
使用 sort()修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,
核实排列顺序确实变了。

place = ['南京', '苏州', '徐州', '合肥', '深圳']
print(place)
print(sorted(place))
print(place)
print(sorted(place, reverse=True))
print(place)
# 将数组反转
place.reverse()
print(place)
place.reverse()
print(place)
place.sort()
print(place)
place.sort(reverse=True)
print(place)
# ['南京', '苏州', '徐州', '合肥', '深圳']
# ['南京', '合肥', '徐州', '深圳', '苏州']
# ['南京', '苏州', '徐州', '合肥', '深圳']
# ['苏州', '深圳', '徐州', '合肥', '南京']
# ['南京', '苏州', '徐州', '合肥', '深圳']
# ['深圳', '合肥', '徐州', '苏州', '南京']
# ['南京', '苏州', '徐州', '合肥', '深圳']
# ['南京', '合肥', '徐州', '深圳', '苏州']
# ['苏州', '深圳', '徐州', '合肥', '南京']

3-9 晚餐嘉宾:在完成练习 3-4~练习 3-7 时编写的程序之一中,使用 len()打印一
条消息,指出你邀请了多少位嘉宾来与你共进晚餐。

person=['小黑','小白']
print('我邀请了'+str(len(person))+'人来参加晚餐')
# 我邀请了2人来参加晚餐

3-10 尝试使用各个函数:想想可存储到列表中的东西,如山岳、河流、国家、城
市、语言或你喜欢的任何东西。编写一个程序,在其中创建一个包含这些元素的列表,
然后,对于本章介绍的每个函数,都至少使用一次来处理这个列表。

obj = ['中国', '喜马拉雅山', '长江']
print(obj)
obj.append('黄河')
obj.insert(0, '泰山')
print(obj)
del obj[1]
print(obj)
temp = obj.pop()
print('弹出的最后一个元素是' + temp)
print(obj)
print('删除元素泰山')
obj.remove('泰山')
print(obj)
obj.insert(1, '南京')
obj.append('英语')
print(obj)
obj.sort()
print(obj)
obj.sort(reverse=True)
print(obj)
print('列表的长度为' + str(len(obj)))
obj.reverse()
print(obj)
# ['中国', '喜马拉雅山', '长江']
# ['泰山', '中国', '喜马拉雅山', '长江', '黄河']
# ['泰山', '喜马拉雅山', '长江', '黄河']
# 弹出的最后一个元素是黄河
# ['泰山', '喜马拉雅山', '长江']
# 删除元素泰山
# ['喜马拉雅山', '长江']
# ['喜马拉雅山', '南京', '长江', '英语']
# ['南京', '喜马拉雅山', '英语', '长江']
# ['长江', '英语', '喜马拉雅山', '南京']
# 列表的长度为4
# ['南京', '喜马拉雅山', '英语', '长江']

使用列表的时候避免索引越界

# 错误代码演示
obj = ['中国', '喜马拉雅山', '长江']
print(obj[3])
# 错误代码演示
obj = []
print(obj[-1])

标签:obj,name,person,Python,列表,--,print,append
From: https://www.cnblogs.com/harper886/p/18014883

相关文章

  • 【算法】DFS
    DFSDFS是一种遍历或搜索图、树或图像等数据结构的算法,当然这个图、树未必存储下来。常见的是通过某种关系构造出的搜索树,搜索树一般是排列型搜索树和子集型搜索树。DFS一般使用栈或递归。一道模板题#include<bits/stdc++.h>usingnamespacestd;constintN=50;intn,m......
  • 基于NIQE算法的图像无参考质量评价算法matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本MATLAB2022a  3.算法理论概述      NIQE(NaturalnessImageQualityEvaluator)算法是一种无参考图像质量评价算法,旨在评估图像的自然度,即图像看起来是否像自然场景。NIQE基于一组“质量感知”特征,并将其拟合到MV......
  • 8小时golang速成(五)Golang高阶 1、goroutine
    1、goroutine 协程并发协程:coroutine。也叫轻量级线程。与传统的系统级线程和进程相比,协程最大的优势在于“轻量级”。可以轻松创建上万个而不会导致系统资源衰竭。而线程和进程通常很难超过1万个。这也是协程别称“轻量级线程”的原因。一个线程中可以有任意多个......
  • 企业排兵布阵之道
    开年后,各企业都纷纷梳理了年度规划。在年度目标,策略,路径明确之后,我们就要考虑用什么样的组织,人才来支撑业务,这就涉及到企业的排兵布阵。 所谓排兵布阵,就是指在具体的业务场景里面,进行组织设计、组织拆分、组织合并、组织目标设计,以及评估什么样的人在里面担任某个团队的leader,......
  • 彻底搞定++i与i++的区别
    i++与++i单独用时的效果是一模一样的,但是如果突然要你说他们俩的区别,你又能不能回答上来呢?这篇博文,我们就完全弄懂他们俩兄弟的区别!基本概念i++和++i要是单独使用的话效果是一样的,都是i=i+1,实验证明:i++代码:#include<bits/stdc++.h>usingnamespacestd;intmain(){in......
  • poj 1416 Shredding Company
    1416--ShreddingCompany(poj.org)#include<iostream>#include<cstring>usingnamespacestd;charnum[10];intt,max_cnt,max_sum,shred_cnt,ans[10],tmp_ans[10];//目标,最大值个数,最大值,切割次数,最后答案,临时答案voidDFS(intbegin,intnow_sum,intcnt){//切的位......
  • 交互杂题选做
    交互杂题选做记录一些自己写过的很有意思的交互题。另外JOISC中有很多有意思的交互题,很值得一做。CF1292ERinandTheUnknownFlower题意:交互题,你要猜一个长为\(n\)的由\(CHO\)构成的字符串,你每次可以询问一个长度为\(t\)的字符串,代价是\(\dfrac{1}{t^2}\),你会得到......
  • 通过解析库探究函数式抽象代价
    前因在春节前了解到Rust语言有一个叫nom的解析库它可以让你创建安全的解析器,而不会占用内存或影响性能。它依靠Rust强大的类型系统和内存安全来生成既正确又高效的解析器,并使用函数,宏和特征来抽象出容易出错的管道。nom核心是解析器组合器,而解析器组合器是高阶函数,可以......
  • Jsoup的快速使用--简单实用
    Jsoup的使用通常分为四步:1.导入jar包2.加载XML文档进内存,获取DOM树对象Document2.1获取类加载器ClassLoaderclassLoader=Demo1.class.getClassLoader();2.2使用类加载器找到XML文档的路径Stringpath=classLoader.getResourc......
  • vue 状态管理vuex Mutation 加传递参数用法
    index.js写法import{createStore}from"vuex";conststore=createStore({  state:{    count:100  },  getters:{    compower(state){      return(id)=>state.count*id    }  },  mutations:{  ......