当前位置: 首页 > news >正文

python 列表、元组、字典易误区

一、删除元素

1、删除列表中的元素 pop del

(1)pop(索引) 用于删除指定索引处的元素,并返回被删除的元素的值。默认删除最后一个元素。 eg:list.pop()
(2)del 用于删除列表中的指定索引处的元素,或者删除整个列表变量。del操作没有返回值。

eg:del a[1:]   删除1号位置和其后所有的元素,只剩下0号位置的数据

(3)list.remove(x) 移除列表中第一次出现的元素x
eg:list0 = [5, 4, 3, 2, 2]
   list0.remove(2)   # 删除列表元素2,注意:不是列表元素
   print(list0)   # [5, 4, 3, 2]

2、删除字典中的元素 pop del

(1)del可以删除字典中的任何元素,包括键-值对以及整个字典。  eg:del dictionary[key]
(2)pop只能删除字典中的键-值对,不适用于删除整个字典。
(3)del操作没有返回值,它是一个语句;pop操作会返回被删除的值,可以赋值给一个变量。

二、添加元素和拼接元素

1、向列表中末尾添加元素append()和+

(1)使用+向列表中添加元素,添加的元素会自动的被添加到列表尾部

eg:list1 += ['桑葚', '番石榴'] √


(2)append() 也可以为列表添加元素,和+一样,也是在列表的结尾处添加元素,但是却是作为一个整体添加 

eg:list1.append(['桑葚', '番石榴'])×××

2、join()和+的拼接字符串

1、join()拼接:拼接字符串、列表、元组会逐个进行拼接

注意:拼接字典时,只会拼接键,而不拼接值

格式:'拼接符'.join(需要拼接的东西)

eg:print('*'.join('abc123'))

2、join()和 + 拼接字符串的区别:

(1)join()的拼接效率快很多。

(2)每一个 + 都会开辟一次内存空间,而join()只开辟一次内存空间。

分析:

首先,字符串是不可变的,拼接字符串得开辟新的内存空间,用来存储拼接后的字符串。

+ 在拼接字符串时,会先开辟内存空间,把拼接后的字符串放进去,每一个 + 都会开辟一次内存空间。

join() 拼接字符串时,会提前算好需要开辟多大的空间,然后申请内存,把拼接后的字符串放进去,无论拼接多少字符串,都只开辟一次内存空间。

2、插入元素

list0.insert(2,6)    在索引为2的位置上插入元素6

三、列表

1、嵌套的列表共占元素的一个位置

2、Python列表是包含0个或者多个对象引用的有序序列,列表的长度是可变的

eg:t1=(2,3),t2=(4,5,6),那么t2+t1*2=(4, 5, 6, 2, 3, 2, 3)。  即(2,3)*2=(2,3,2,3)

四、元组

1、创建元组

使用()可以创建元组,空括号创建空元组,但是创建只有一个元素的元组时,需要在第一个元素的后面加逗号。
eg:tp=('star',) √        tp=('sun')×××
2、列表和元组是否是相同的数据类型

3、元组为不可变数据类型,不可以对元组进行修改元素的值、删除元素,可以对元组进行连接和切片,但是切片也不能赋值

4、python中元组和列表中的元素可以是不同类型的    C++中的数组要是相同数据类型的
元组不可以被修改

五、字典

1、字典的值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组

A.dic={} √        B.dic={12:34} √         C.dic={[12]:[34]} ×         D.dic={(12):(34)} √

六、循环

1、Python中只有for循环和while循环两种循环,do…while循环不可用于python

2、用while语句编写的循环结构,不是都可以用for语句实现的

要注意for语句和while语句在循环次数上的不同,while语句可以实现循环次数不确定的问题求解

http://www.lryc.cn/news/464312.html

相关文章:

  • wireshark或tshark提取tcpdump捕获的数据包(附python脚本自动解析文件后缀)
  • 了解EasyNVR及EasyNVS,EasyNVR连接EasyNVS显示授权超时如何解决?什么原因?
  • 【AUTOSAR标准文档】服务类型介绍
  • Axure垂直菜单展开与折叠
  • java简单理解哈希算法
  • Python生成随机密码脚本
  • 什么是ASC广告?Facebook ASC广告使用技巧
  • idea2024启动Java项目报Error running CloudPlApplication. Command line is too long.
  • xtu oj 不定方程的正整数解
  • python爬虫技术实现酷我付费破解下载
  • 工具:Git分布式版本控制系统
  • python+docxtpl:word文件模版渲染
  • 018_基于python+django荣誉证书管理系统2024_jytq9489
  • Vulkan 开发(三):Vulkan 物理设备
  • Netty无锁化设计之对象池实现
  • 工厂生成中关于WiFi的一些问题
  • Java爬虫:获取商品评论数据的高效工具
  • oracle中的exists 和not exists 用法
  • 自定义导出Excel数据注解实践
  • CSS3 动画相关属性实例大全(一)(@keyframes ,background属性,border 属性)
  • 拦截器或过滤器往本次请求体中添加信息
  • Docker 安装达梦 DM8 数据库实战指南
  • QtCreator14调试Qt5.15出现 Launching Debugger 错误
  • day1:基础了解
  • 【从零开始的LeetCode-算法】3099. 哈沙德数
  • 【Next.js 项目实战系列】02-创建 Issue
  • 浅谈C++的future
  • 期货外盘行情源7个市场CTP推送式服务说明
  • 计算机毕业设计 | SSM 校园线上订餐系统(附源码)
  • 【iOS】使用一个单例通过AFNetworking来实现网络请求