Python笔记 -- 列表

news2024/12/23 14:03:32

文章目录

    • 1、列表简介
    • 2、修改、添加、删除元素
      • 2.1、添加
      • 2.2、删除
    • 3、排序、倒序
    • 4、遍历列表
    • 5、创建数值列表
    • 6、列表切片
    • 7、列表复制
    • 8、元组

1、列表简介

在Python中用方括号[]表示列表,用逗号隔开表示其元素

  • 通过索引访问列表

在这里插入图片描述

names = ['aa','bb','cc','dd']

print(names[0])
print(names[-1])

在这里插入图片描述

2、修改、添加、删除元素

2.1、添加

append:末尾添加
extend:末尾添加列表
insert:指定位置添加

names = ['aa','bb','cc','dd']

names.append('append')
print(names)

names.extend(["extend"])
names.insert(0,'insert') #插入到指定索引前
print(names)

names.extend('extend')
print(names)

在这里插入图片描述

2.2、删除

删除指定位置的元素:del 、pop
删除指定元素(第一个):remove
清空列表:clear

names = ['aa','bb','cc','dd','ee','ff']

del names[0]
print(names) #['bb', 'cc', 'dd', 'ee', 'ff']

names.pop() #names.pop(-1)
print(names) #['bb', 'cc', 'dd', 'ee']

names.remove('cc')
print(names) #['bb', 'dd', 'ee']

names.clear()
print(names) #[]

在这里插入图片描述

3、排序、倒序

sort:按ASCII码从小到大永久排序(改变被排序的列表)
sorted:按ASCII码从小到大临时排序
reverse:永久反转列表的顺序

my_list = ['c','b','d','a','e']
print(sorted(my_list))
print(my_list)

print(my_list.sort())
print(my_list)

my_list.reverse()
print(my_list)

在这里插入图片描述

4、遍历列表

my_list = ['cc','bb','dd','a','e']

for item in my_list:
    print(item)

在这里插入图片描述

5、创建数值列表

使用函数list将range()的结果转化为列表 左闭右开

# for num in range(0,4):
for num in range(4):
    print(num)

nums = list(range(4))
print(nums)

#可以指定步长
my_nums = list(range(0,7,2))
print(my_nums)

#创建平方列表
my_list = []
for n in range(1,5):
    my_list.append(n**2)
print(my_list)

#列表解析
items = [item**2 for item in range(1,5)]
print(items)

在这里插入图片描述

6、列表切片

要访问列表的部分元素,可以指定第一个元素和最后一个元素的索引
左闭右开

my_list = ['aa', 'bb', 'cc', 'dd', 'ee','ff','gg']
print(my_list)
print(my_list[0:3])  # 取前3个  [0,3)
print(my_list[:3])  # 未指定时默认是从0开始
print(my_list[3:])
print(my_list[0:7:2])  # 可指定步长拿取

在这里插入图片描述

7、列表复制

my_list = ['aa', 'bb', 'cc']
print(f"my_lsit :{my_list}")
my_list = ['aa', 'bb', 'cc']
print(f"my_lsit :{my_list}")

bak_list = my_list[:]
same_list = my_list  # 不能直接复制,类似于指针

my_list.append('dd')
print(f"my_lsit :{my_list}")
print(f"bak_lsit:{bak_list}")
print(f"same_lsit:{same_list}")

在这里插入图片描述

8、元组

不能修改的值称为不可变的,而不可变的列表称为元组
元组由括号标识

my_list = ('aa', 'bb', 'cc')
my_list[0] = 'dd'

在这里插入图片描述可以看到不支持赋值
但可以重新定义该元组

my_list = ('aa', 'bb', 'cc')
my_list = ('bb', 'cc')

print(my_list)

在这里插入图片描述

笔记来源:《Python编程 从入门到实践》

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

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

相关文章

游戏项目中的程序化生成(PCG):算法之外的问题与问题

本篇讨论的是什么 从概念上讲,PCG(程序化生成)的含义很广:任何通过规则计算得到的内容,都可算作是PCG。但在很多游戏项目的资料,包括本篇,讨论PCG时特指是:用一些算法/工具(特别是H…

C语言-基础了解-13-C enum枚举

C enum枚举 一、C枚举 枚举是 C 语言中的一种基本数据类型,用于定义一组具有离散值的常量。,它可以让数据更简洁,更易读。 枚举类型通常用于为程序中的一组相关的常量取名字,以便于程序的可读性和维护性。 定义一个枚举类型&a…

3.2 LED闪烁流水灯蜂鸣器

LED闪烁1.1 电路连接示意图LED采用低电平点亮的方式,利用ST-Link的3.3V进行供电。1.2程序设计1.21知识储备GPIO配置步骤步骤:1. 第⼀步,使⽤RCC开启GPIO的时钟2. 第⼆步,使⽤GPIO_Init()函数初始化GPIO3. 第三步,使⽤输…

JavaWeb--会话技术

会话技术1 会话跟踪技术的概述2 Cookie2.1 Cookie的基本使用2.2 Cookie的原理分析2.3 Cookie的使用细节2.3.1 Cookie的存活时间2.3.2 Cookie存储中文3 Session3.1 Session的基本使用3.2 Session的原理分析3.3 Session的使用细节3.3.1 Session钝化与活化3.3.2 Session销毁目标 理…

java坦克大战(1.0)

坦克大战 后面开始学习怎么使用java制造一个坦克大战游戏 但是不是直接开始做,而是随着这个游戏程序的制造,一边学习新知识融入到游戏中。包括多线程,反射,IO流… Java坐标体系 在几乎所有的坐标中都有一个x轴和y轴&#xff0c…

大数据项目实战之数据仓库:用户行为采集平台——第1章 数据仓库概念

第1章 数据仓库概念 数据仓库(Data Warehouse),是为企业制定决策,提供数据支持的。可以帮助企业改进业务流程、提高产品质量等。 数据仓库的输入数据通常包括:业务数据、用户行为数据和爬虫数据等 业务数据&#xf…

Java - 对象的比较

一、问题提出 前面讲了优先级队列,优先级队列在插入元素时有个要求:插入的元素不能是null或者元素之间必须要能够进行比较,为了简单起见,我们只是插入了Integer类型, 那优先级队列中能否插入自定义类型对象呢&#xf…

深入理解JDK动态代理原理,使用javassist动手写一个动态代理框架

文章目录一、动手实现一个动态代理框架1、初识javassist2、使用javassist实现一个动态代理框架二、JDK动态代理1、编码实现2、基本原理(1)getProxyClass0方法(2)总结写在后面一、动手实现一个动态代理框架 1、初识javassist Jav…

Dijkstra算法的入门与应用

目录 一、前言 二、Dijkstra算法 1、Dijkstra 算法简介 2、算法思想:多米诺骨牌 3、算法实现 4、例子 三、例题 1、蓝桥王国(lanqiaoOJ题号1122) 一、前言 本文主要讲了Dijkstra算法的概念、实现与一道模板例题。 二、Dijkstra算法…

RSTP基础要点(上)

RSTP基础RSTP引入背景STP所存在的问题RSTP对于STP的改进端口角色重新划分端口状态重新划分快速收敛机制:PA机制端口快速切换边缘端口的引入RSTP引入背景 STP协议虽然能够解决环路问题,但是由于网络拓扑收敛较慢,影响了用户通信质量&#xff…

分布式对象存储

参考《分布式对象存储----原理、架构以及Go语言实现》(作者:胡世杰) 对象存储简介 数据的管理方式 以对象的方式管理数据,一个对象包括:对象的数据、对象的元数据、对象的全局唯一标识符 访问数据的方式 可扩展的分…

useCallback、useMemo、React.memo

1、React.memo React.memo 是 React 中用于函数组件优化的高阶组件,可以在一定程度上减少组件的重渲染,提升应用性能。React.memo 的实现原理是对比组件的前后两次渲染传入的 props 是否相等,如果相等则不会触发重新渲染,否则会触…

使用 Nacos 搭建一个简单的微服务项目

Nacos Nacos 是阿里巴巴推出来的一个新开源项目,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 准备Nacos 将 nacos 安装成功之后,进入nacos的bin 目录下,通过命令sh startup.sh -m standalone启动nacos,然后…

ChatGPT概述:从模型训练到基本应用的介绍

ChatGPT概述:从模型训练到基本应用的介绍 目录 本文是对ChatGPT的由来、训练过程以及实际落地场景的解释,主要内容包括如下三个方面: 1、ChatGPT是什么 2、ChatGPT的原理 3、ChatGPT的思考 4、ChatGPT的应用 ChatGPT是什么 ChatGPT可能是近…

代码随想录算法训练营第四天| 24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交 、142.环形链表II

24. 两两交换链表中的节点 24.两两交换链表中的节点介绍给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。思路上述是自己看到这道…

Zookeeper3.5.7版本——客户端命令行操作(命令行语法)

目录一、命令行语法二、help命令行语法示例一、命令行语法 命令行语法列表 命令基本语法功能描述help显示所有操作命令ls path使用 ls 命令来查看当前 znode 的子节点 [可监听]-w 监听子节点变化-s 附加次级信息create普通创建-s 含有序列-e 临时(重启或者超时消失…

【3.5】单调栈、回文数、子序列、编辑距离问题,MySQL、Redis

文章目录单调栈总结子序列问题总结编辑距离问题总结回文串问题总结MySQL 执行流程是怎样的?第一步:连接器第二步:查询缓存第三步:解析器 解析SQL第四步:执行 SQL2.2 MySQL 一行记录是怎么存储的?MySQL 的数…

ChatGPT vs Bard 背后的技术对比分析和未来发展趋势

ChatGPT vs Bard 背后的技术对比分析和未来发展趋势 目录 ChatGPT vs Bard 背后的技术对比分析和未来发展趋势

Vulnhub系列:VulnOSv2

老样子,kali ip:192.168.56.104,靶机ip利用nmap或arp-scan -l进行查看靶机ip为:192.168.56.124,利用nmap进行端口探测发现了22、80、6667端口,下一步就是进行web探测,输入靶机ip后发现页面存在个链接&#…

Qt中调用gtest进行单元测试及生成覆盖率报告

一.环境配置 googletest地址:https://github.com/google/googletest 我下载的是1.12.1,这是最后一个支持C++11的版本。 首先编译gtest,在windows上的编译方式和编译gRPC一模一样,详见Qt中调用gRPC,编译完了会生成几个静态库,如下图所示 本文主要用到了libgtest.a 下载ms…