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

python程序员面试题之:set vs tuple vs list vs dict

首先,set/tuple/list/dict都是存储变量的python类型,四者之间有异有同。
首先,set存储无序不重复序列。
set_b = {1,2,4}
print(set_b[0])
TypeError: ‘set’ object is not subscriptable

set 会自动去重,所以根据这个特性可以对list去重

set_b = {1,2,2,4}
print(set_b)
{1, 2, 4}
list_a = [1,2,2,3]
list_b = list(set(list_a))
print(list_b)
[1, 2, 3]

tuple元组和list序列很相似,但是它一旦被创建就无法被修改(增删改),只能被重定义一个new tuple取代原始。
tuple_a = (1,2,)
tuple_a[0]=2
print(tuple_a[0])
TypeError: ‘tuple’ object does not support item assignment

Tuple 是()生成,支持以“,”结尾,除无法被篡改外(更安全),性能基本和list一致,

list,如何去重,两种方法。
1、转换为 set 再转换为list
list_a = [1,2,2,3]
list_b = list(set(list_a))
print(list_b),result=[1,2,3]
分析:这样做,有个弊端,就是set是无序的,所以转换过程中有可能破坏原list序列结构。

如何对list元素去重又保留元素原本顺序呢?那就是对新list进行sort排序

list_a = [1,2,2,3]
list_b = list(set(list_a))
list_b.sort(key=list_a.index)
print(list_b)

如何删除list里面的元素

1、list.remove(“abc”)
2、del list[1]
3、list.pop(2) —第二个元素剔除

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

相关文章:

  • STM32 F103C8T6学习笔记11:RTC实时时钟—OLED手表日历
  • 无法将“环境变量”项识别为 cmdlet、函数、脚本文件或可运行程序的名称(pycharm)
  • 基于图像链接的批量下载
  • mongodb使用心得
  • 学习Vue:响应式原理与性能优化策略
  • 神经网络基础-神经网络补充概念-43-梯度下降法
  • Reids之Set类型解读
  • 【网络基础】数据链路层
  • 云计算|OpenStack|使用VMware安装华为云的R006版CNA和VRM---初步使用(二)
  • Python typing函式庫和torch.types
  • UE5 编程规范
  • 交互消息式IMessage扩展开发记录
  • 软件团队降本增效-建立需求评估体系
  • npm yarn pnpm 命令集
  • python 开发环境(PyCharm)搭建指南
  • springboot里 运用 easyexcel 导出
  • 一“码”当先,PR大征集!2023 和RT-Thread一起赋能开源!
  • jmeter模拟多用户并发
  • 澎峰科技|邀您关注2023 RISC-V中国峰会!
  • 【系统架构】系统架构设计之数据同步策略
  • Linux内核学习笔记——ACPI命名空间
  • 使用 OpenCV Python 实现自动图像注释工具的详细步骤--附完整源码
  • RunnerGo中WebSocket、Dubbo、TCP/IP三种协议接口测试详解
  • 【Java 动态数据统计图】动态数据统计思路案例(动态,排序,数组)一(112)
  • kafka踩坑
  • 让你专注于工作的电脑桌面日程提醒软件
  • 62页智慧产业园区数字化综合解决方案PPT
  • 苹果开发者账号注册方法简明指南
  • SQL-每日一题【1321. 餐馆营业额变化增长】
  • PyCharm PyQt5 开发环境搭建