详细解读python里的列表

一、列表的创建与删除

1、使用赋值运算符直接创建列表

listname  = [element1, element2, element3, … , element n]

2、创建空列表

emptylist = []

3、创建数值列表

list(data)

Age: list(range(10, 20 ,2))

4、删除列表

del listname

二、访问列表元素

1、直接用print()

Age:

untitle  = ["Python", 28, "人生苦短,我用python"]

print(untitle)

print(untitle(2))

age:

import datetime

mot = ["今天星期一:\n坚持下去不是因为我很坚强,而是因为我别无选择。",

       "今天星期二:\n含泪播种的人一定能笑着收获。",

       "今天星期三:\n做对的事情比把事情做对重要。",

       "今天星期四:\n命运给予我们的不是失望之酒,而是机会之杯。",

       "今天星期五:\n不要等到明天,明天太遥远,今天就行动。",

       "今天星期六:\n求知若饥,虚心若愚。",

       "今天星期日:\n成功将属于那些从不说不可能的人"]

day=datetime.datetime.now().weekday()

print(mot[day])

2、、遍历列表

1)、直接使用for循环实现

for item in listname:

print(item)

2)、使用for循环和enumerate()函数实现

for index,item in enumerate(listname):

#输出index和item

参数说明:

index:用于保存元素的索引。

item:用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可。

listname:列表名称。

age:

print("2017~2018赛季NBA西部联盟前八名\n")

team = ["火箭", "勇士", "开拓者", "雷霆", "爵士", "马刺", "深林狼"]

for index,item in enumerate(team):

    if index%2 == 0:

        print(item +"\t\t", end='')

    else:

        print(item + "\n")

三、添加、修改和删除列表元素

1、添加元素

向列表里添加一个元素:

listname.append(obj)

向列表里添加另一个列表:

listname.extend(seq)

2、修改元素

实例展示:

verse = ["长亭外", "古道边", "芳草碧连天"]

print(verse)

verse[2] = "一行白鹭上青天"

print(verse)

3、删除元素

实例展示:

根据索引删除:

verse = ["长亭外", "古道边", "芳草碧连天"]

print(verse)

del verse[-1]

print(verse)

根据元素值删除:

team = ["火箭", "勇士", "开拓者", "爵士", "马刺", "雷霆", "深林狼"]

value = "公牛"

if team.count(value)>0:

    team.remove(value)

print(team)

四、对列表进行统计和计算

1、获取指定元素出现的次数

listname.count(obj)

2、获得指定元素首次出现的下标

listname.index(obj)

3、统计数值列表的元素和

sum(iterable[,start])

iterable:表示要统计的列表

start:表示计算结果从哪个数开始,是可选参数,如果没有指定,默认值为0。

五、对列表进行排序

1、使用列表对象的sort()方法

listname.sort(key=None, reverse=False)

listname: 表示要进行排序的列表

key:用于指定排序规则

reverse:可选参数,True表示降序,False表示升序

2、使用内置的sorted()函数实现

sorted(iterable, key=None, reverse=False)

iterable:表示要进行排序的列表名称

其他参数同上

六、列表推导式

1、生成指定范围的数值列表

list = [Expression for var in range]

list: 表示生成的列表名称。

Expression:表达式,用于计算新列表的元素。

var:循环变量。

range:采用range()函数生成的range对象。

age:

import random

randomnumber = [random.randint(10,100) for i in range(10)]

print("生成的随机数为:", randomnumber)

2、根据列表生成指定需求的列表

newlist = [Expression for var in list]

age:

price = [1200, 5330, 2988, 6200, 1998, 8888]

sale = [int(x*0.5) for x in price]

print("原价格:",price)

print("打五折的价格:",sale)

3、从列表中选择符合条件的元素组成新的列表

newlist = [Expression for var in list if condition]

condition:条件表达式,用于指定筛选条件。

age:

price = [1200, 5330, 2988, 6200, 1998, 8888]

sale = [x for x in price if x>5000]

print("原价格:",price)

print("高于5000的价格:",sale)

七、二维列表的使用

1、直接定义二维列表

listname=[[11, 12, 13, ... 1n],

[21, 22, 23, ... 2n],

[31, 32, 33, ... 3n],

.

.

.

[n1, n2, n3, ... nn]]

2、使用嵌套的for循环创建

age:

arr = []

for i in range(4):

    arr.append([])

    for j in range(5):

        arr[i].append(j)

print(arr)

3、使用列表推导式创建

arr =[[j for j in range(5)] for i in range(4)]

print(arr)

访问方法:

listname[下标1][下标2]

八、使用二维列表输出不同版式的古诗


 

str1 = "千山鸟飞绝"str2 = "万径人踪灭"str3 = "孤舟蓑笠翁"str4 = "独钓寒江雪"verse = [list(str1), list(str2), list(str3), list(str4)]print("\n--横板--\n")for i in range(4):for j in range(5):if j == 4:print(verse[i][j])else:print(verse[i][j], end="")verse.reverse()print("\n-- 竖版 --\n")for i in range(5):for j in range(4):if j == 3:print(verse[j][i])else:print(verse[j][i], end="")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/204429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录一下本地源码安装部署ThingsBoard可能踩到的坑

使用git下载源码后, 必须运行 mvn clean install -DskipTests这一步很重要, 有很多文件需要初始化, 如果直接放入idea可能存在各种问题, 最好是用命令行执行 初始化时, 可能报错停止, 这个一般是网络问题, 可以尝试修改maven镜像, 这是我成功构建的镜像 <!--阿里云仓库--…

Python-调试

左下角有相关的操作 断点&#xff1a;鼠标右键点击行 左下角为函数的调用栈 单步按F7

codeforces E - Good Triples

分析 易得总和总是大于等于每一位之和。如果左边的每一位之和有进位那么对于两边总和的贡献不影响&#xff0c;对于左边的位之和不影响&#xff0c;对于右边的位之和有影响。有进位相当于左边位之和加 10 10 10 &#xff0c;右边位之和加 1 1 1 。两边贡献不等&#xff0c;所…

QML与C++之间自定义对象输出

1.定义暴露的C类 Message.h #ifndef MESSAGE_H #define MESSAGE_H#include "QObject" #include "MessageAuthor.h"class Message : public QObject {Q_OBJECTQ_PROPERTY(MessageAuthor* author READ author )public:explicit Message(QObject *parent nu…

跨境电商平台投资智谋:全球化布局的策略之道

随着全球数字化浪潮的涌动&#xff0c;跨境电商平台在全球商业舞台上扮演着越来越重要的角色。其全球化布局的策略之道成为业界瞩目的焦点。 本文将深入探讨跨境电商平台投资的智谋&#xff0c;分析其全球化布局的关键策略&#xff0c;以及在这个竞争激烈的领域中脱颖而出的成…

基于若依的ruoyi-nbcio流程管理系统支持支持定时边界事件和定时捕获事件

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 1、定时边界事件 <template><div class"panel-tab__content"><!--目前只处理定…

BBS项目

一.BBS项目介绍 1.项目开发流程 项目立项 ------> 公司高层决定需求调研和分析 ------> 市场人员&#xff0c;技术人员参与 -需求文档说明开发部门开会 ------> 确定项目架构&#xff0c;技术选型&#xff0c;数据库设计UI&#xff0c;UD团队&#xff08;产品经…

计算机:人生道路上的良师益友

人生如同一座崎岖的山峰&#xff0c;我们不断地攀爬&#xff0c;寻找属于自己的道路。在这个过程中&#xff0c;计算机成为了我的得力助手&#xff0c;陪伴我走过无数的曲折与坎坷。 一、计算机&#xff1a;打开新世界的门户 我的人生道路上&#xff0c;计算机起到了至关重要…

【EI会议征稿-ACM出版】2023年信息化教育与人工智能国际学术会议(ICIEAI 2023)

2023年信息化教育与人工智能国际学术会议&#xff08;ICIEAI 2023&#xff09; 2023 International Conference on Information Education and Artificial Intelligence 2023年12月22-24日 中国-厦门 2023年信息化教育与人工智能国际学术会议&#xff08;ICIEAI 2023&#xf…

用23种设计模式打造一个cocos creator的游戏框架----(四)装饰器模式

1、模式标准 模式名称&#xff1a;装饰器模式 模式分类&#xff1a;结构型 模式意图&#xff1a;动态地给一个对象添加一些额外的职责。就增加功能来说&#xff0c;装饰器模式比生成子类更为灵活。 结构图&#xff1a; 适用于&#xff1a; 当需要给一个对象在运行时添加更…

Native Drawing 开发指导,实现 HarmonyOS 基本图形和字体的绘制

场景介绍 Native Drawing 模块提供了一系列的接口用于基本图形和字体的绘制。常见的应用场景举例&#xff1a; ● 2D 图形绘制。 ● 文本绘制。 接口说明 详细的接口说明请参考Drawing。 2D 图形绘制开发步骤 以下步骤描述了如何使用 Native Drawing 模块的画布画笔绘制一…

OpenCV交叉编译

1.下载代码解压 tar -zxvf opencv-4.8.1.tar.gz cd cd opencv-4.8.1 sudo mkdir chmod 777 build cd build 2.配置交叉编译工具 根据自己的板子进行修改 -D CMAKE_C_COMPILERaarch64-mix210-linux-gcc -D CMAKE_CXX_COMPILERaarch64-mix210-linux-g 3.cmake生成makefi…

Axure动态面板控制

首先创建一个项目&#xff0c;拖拽几个矩形喝一个动态面板 然后双击动态面板添加状态state1,state2,state3 然后分别在state1,state2,state3编辑导航对应的内容。 接下来就是添加交互事件&#xff0c;将不同导航对应不同的state. 点击“交互”->鼠标点击->进入交互编辑…

【android开发-19】android中内容提供者contentProvider用法讲解

1&#xff0c;内容URI 在Android系统中&#xff0c;Content URI是一种用于唯一标识和访问应用程序中的数据的方法。它由Android系统提供&#xff0c;通过Content Provider来实现数据的共享和访问。 Content URI使用特定的格式来标识数据&#xff0c;通常以"content://&qu…

大模型流行的原因以及大小模型在多任务场景的优劣对比

最近在了解大模型相关的概念&#xff0c;但有一些问题百思不得其解&#xff0c;所以写个博客记录下。 大模型流行的原因 提问&#xff1a;大模型为什么是近几年来的研究趋势&#xff1f;我个人工作以来&#xff0c;发现技术的迭代方向一直是“解耦”&#xff0c;尽量避免多个技…

Unity中Batching优化的动态合批

文章目录 前言一、动态合批的规则1、材质相同是合批的前提&#xff0c;但是如果是材质实例的话&#xff0c;则一样无法合批。2、支持不同网格的合批3、动态合批需要网格支持的顶点条件二、我们导入一个模型并且制作一个Shader&#xff0c;来测试动态合批1、我们选择模型的 Mesh…

【改进YOLOv8】融合Gold-YOLO的车辆未礼让行人检测系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 随着交通工具的普及和道路交通量的增加&#xff0c;交通安全问题日益凸显。尤其是车辆未礼让行人的情况频繁发生&#xff0c;给行人的生命安全带来了严重威胁。因…

【Java】I/O流—File类:从0到1的全面解析

&#x1f38a;专栏【Java】 &#x1f33a;每日一句:看不清楚未来时,就比别人坚持久一点 ⭐欢迎并且感谢大家指出我的问题 目录 1.File概述 2.File构造方法 (1).根据文件路径创建文件对象 (2).根据父路径名字符串和子路径名字符串创建对象 (3).根据父路径对应文件对象和子路…

vue的props

类型&#xff1a;Array<string> | Object 详细&#xff1a; props 可以是数组或对象&#xff0c;用于接收来自父组件的数据。props 可以是简单的数组&#xff0c;或者使用对象作为替代&#xff0c;对象允许配置高级选项&#xff0c;如类型检测、自定义验证和设置默认值。…

【C语言】数据在内存中的存储

目录 练笔 整型数据的存储&#xff1a; char 型数据——最简单的整型 整型提升&#xff1a; 推广到其他整形&#xff1a; 大小端&#xff1a; 浮点型数据的存储&#xff1a; 存储格式&#xff1a; 本篇详细介绍 整型数据&#xff0c;浮点型数据 在计算机中是如何储存的。…