python-题库篇-列表、字典、元组、集合

文章目录

  • 问题
    • 什么是Python中的列表(List)?它有哪些特点?
    • 什么是Python中的元组(Tuple)?它与列表有何区别?
    • 解释Python中的字典(Dictionary)
    • Python中的集合(Set)是什么?
  • 题目
    • 求两个列表中的相同元素和不同元素
    • 列表转换为字典
    • 倒序输出列表中的数据

问题

什么是Python中的列表(List)?它有哪些特点?

在Python中,列表(List)是⼀种有序、可变、可以包含多种类型元素的数据结构。列表以⽅括号 [] 表⽰,元素之间使⽤逗号 , 分隔。
列表的特点包括:

  1. 有序性:列表中的元素是按照插⼊顺序存储的,可以通过索引访问。例如, my_list = [1,‘apple’, True] 。
  2. 可变性:列表中的元素可以被修改、添加和删除,使其成为⼀种可变数据类型。
  3. 多类型:列表可以容纳不同类型的元素,即可以包含数字、字符串、布尔值等多种数据类型。
  4. 灵活性:列表可以通过各种⽅法进⾏操作,包括索引、切⽚、追加、插⼊、删除等。

⽰例:

my_list = [1, 2, 3, 'apple', 'banana']
print(my_list[3]) # 输出:'apple'
my_list.append('cherry') # 添加 'cherry' 到列表末尾
print(my_list) # 输出:[1, 2, 3, 'apple', 'banana', 'cherry']
del my_list[1] # 删除索引为1的元素
print(my_list) # 输出:[1, 3, 'apple', 'banana', 'cherry']

什么是Python中的元组(Tuple)?它与列表有何区别?

在Python中,元组(Tuple)与列表类似,是⼀种有序的数据集合。元组使⽤圆括号 () 表⽰,与列表不同的是,元组是不可变的数据结构。
元组与列表的区别包括:

  1. 可变性:元组是不可变的,⼀旦创建后,其元素⽆法更改、添加或删除。⽽列表是可变的,可以进行元素的修改、添加和删除。
  2. 语法:列表使⽤⽅括号 [] ,⽽元组使⽤圆括号 () 。
  3. 性能:由于元组是不可变的,其处理速度⽐列表更快。
    示例:
my_tuple = (1, 2, 'apple', 'banana')
print(my_tuple[2]) # 输出:'apple'
# 尝试修改元组元素,会导致错误
my_tuple[2] = 'cherry' # TypeError: 'tuple' object does not support item assign

解释Python中的字典(Dictionary)

在Python中,字典(Dictionary)是⼀种⽆序、可变、存储键值对的数据结构。它使⽤⼤括号 {} 来表⽰,每个键值对之间使⽤逗号 , 分隔。

字典的特点包括:

  1. 键值对:字典由键(key)和对应的值(value)组成,每个键值对之间⽤冒号 : 分隔,如’key’: ‘value’ 。
  2. 键的唯⼀性:字典中的键必须是唯⼀的,值可以重复。
  3. 可变性:字典中的元素是可变的,可以修改、添加和删除。
  4. ⽆序性:字典中的元素存储是⽆序的,不能通过索引进⾏访问,⽽是通过键来访问对应的值。
    ⽰例:
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(my_dict['name']) # 输出:'Alice'
# 修改字典中的值
my_dict['age'] = 26
# 添加新键值对
my_dict['gender'] = 'Female'
# 删除键值对
del my_dict['city']
print(my_dict) # 输出:{'name': 'Alice', 'age': 26, 'gender': 'Female'}

Python中的集合(Set)是什么?

在Python中,集合(Set)是⼀种⽆序且不重复的数据集合,使⽤⼤括号 {} 表⽰,其中的元素不重复。
集合的特点包括:

  1. ⽆序性:集合中的元素没有顺序,不像列表或元组具有索引。
  2. 唯⼀性:集合中的元素是唯⼀的,不允许重复。
  3. 可变性:集合中的元素可变,可以添加和删除。
  4. 数学集合操作:集合⽀持并集、交集、差集等集合操作。

示例:

my_set = {1, 2, 3, 3, 4, 4} # 重复元素会被⾃动去重
print(my_set) # 输出:{1, 2, 3, 4}
# 添加元素
my_set.add(5)
print(my_set) # 输出:{1, 2, 3, 4, 5}
# 删除元素
my_set.remove(3)
print(my_set) # 输出:{1, 2, 4, 5}

题目

求两个列表中的相同元素和不同元素

给定两个列表,怎么找出他们相同的元素和不同的元素?

输入:
list1 = [1,2,3]
list2 = [3,4,5]

输出:
list1 和 list2 的相同元素是: {3}
list1 和 list2 的不同元素是: {1, 2, 4, 5}

答案:

list1 = [1,2,3]
list2 = [3,4,5]
set1 = set(list1)
set2 = set(list2)
print("list1 和 list2 的相同元素是:",set1 & set2)
print("list1 和 list2 的不同元素是:",set1 ^ set2)

在这里插入图片描述

列表转换为字典

两个列表转合并为⼀个字典

输入:
m = [‘a’, 11]
n = [‘b’, 22]
输出:
{‘a’:11,‘b’:22}
答案:

m = ['a', 11]
n = ['b', 22]
print(dict([m,n]))

在这里插入图片描述

倒序输出列表中的数据

按相反的顺序输出列表的值。
输入:
a = [‘one’, ‘two’, ‘three’]
输出:
three
two
one

a = ['one', 'two', 'three']
for i in a[::-1]:
	print (i)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣刷题54-螺旋矩阵

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5]示例 2: 输入:matrix [[1,2,3,…

《金融人工智能:用python实现ai量化交易》

融合了数学、python、深度学习以及金融知识,是本推荐的好书。请收藏本文,读后再给大学总结。

【python】网络爬虫与信息提取--Beautiful Soup库

Beautiful Soup网站:https://www.crummy.com/software/BeautifulSoup/ 作用:它能够对HTML.xml格式进行解析,并且提取其中的相关信息。它可以对我们提供的任何格式进行相关的爬取,并且可以进行树形解析。 使用原理:它能…

数模.SI模型SI的四种扩展

一:最简单的考虑方式 二考虑某种使得参数beta降低的因素 三:增加人口自然出生率和死亡率,但不考虑疾病的死亡率 四:不考虑人口自然出生率和死亡率,只考虑疾病的死亡率 五:同时考虑人口自然出生率和死亡率和…

【JavaEE】网络原理: UDP协议和TCP协议的相关内容

目录 1. 应用层 2. 传输层 2.1 端口号 2.2 UDP协议 2.3 TCP协议 1.确认应答 2.超时重传 3.连接管理 三次握手 四次挥手 状态转换 4.滑动窗口 5.流量控制 6.拥塞控制 7.延迟应答 8.捎带应答 9.面向字节流 粘包问题 10.异常情况 网络通信中, 协议是一个非常重…

Java中锁的应用

文章目录 前言一、场景描述二、加锁1.synchronized2.ReentrantLock 三、扩展1.ThreadLocal 总结 前言 在多线程场景下,多个线程同时对共享变量进行操作是存在风险的,这时候就需要加锁来保证数据的正确性。 一、场景描述 我这里有5个无人机,准备卖到乌克…

Vue学习笔记(三)常用指令、生命周期

Vue学习笔记(三)常用指令 vue指令:html标签上带有 v- 前缀的特殊属性,不同的指令具有不同的含义,可以实现不同的功能。 常用指令: 指令作用v-for列表渲染,遍历容器的元素或者对象的属性v-bind…

基于卷积神经网络模型的手写数字识别

基于卷积神经网络模型的手写数字识别 一. 前言二. 设计目的及任务描述2.1 设计目的2.2 设计任务 三. 神经网络模型3.1 卷积神经网络模型方案3.2 卷积神经网络模型训练过程3.3 卷积神经网络模型测试 四. 程序设计 一. 前言 手写数字识别要求利用MNIST数据集里的70000张手写体数…

数据结构——lesson2线性表和顺序表

目录 前言 一、顺序表是什么? 1. 静态顺序表:使用定长数组存储元素 2. 动态顺序表:使用动态开辟的数组存储。 二、接口实现 1.动态顺序表存储 2.基本增删查改接口 (1)初始化顺序表 (2)顺序表摧毁 (3)检查空间 (4)顺序表打印 (5)顺…

Elasticsearch:倒数排序融合 - Reciprocal rank fusion (RRF)

注意:RRF 在 Elastic Stack 8.8 中正式提供。 倒数排序融合(RRF)是一种将具有不同相关性指标的多个结果集组合成单个结果集的方法。 RRF 无需调优,不同的相关性指标也不必相互关联即可获得高质量的结果。该方法的优势在于不利用相…

VBA技术资料MF118:在多个工作表中插入页眉和页脚

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

如何在PDF 文件中删除页面?

查看不同的工具以及解释如何在 Windows、Android、macOS 和 iOS 上从 PDF 删除页面的步骤: PDF 是最难处理的文件格式之一。曾经有一段时间,除了阅读之外,无法用 PDF 做任何事情。但是今天,有许多应用程序和工具可以让您用它们做…

片上网络NoC(3)——拓扑指标

目录 一、概述 二、指标 2.1 与网络流量无关的指标 2.1.1 度(degree) 2.1.2 对分带宽(bisection bandwidth) 2.1.3 网络直径(diameter) 2.2 与网络流量相关的指标 2.2.1 跳数(hop coun…

【复现】Supabase后端服务 SQL注入漏洞_48

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 Supabase是什么 Supabase将自己定位为Firebase的开源替代品,提供了一套工具来帮助开发者构建web或移动应用程序。 Sup…

LeetCode、208. 实现 Trie (前缀树)【中等,自定义数据结构】

文章目录 前言LeetCode、208. 实现 Trie (前缀树)【中等,自定义数据结构】题目链接与分类思路 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领…

车载诊断协议DoIP系列 —— OSI模型DoIP参考

车载诊断协议DoIP系列 —— OSI模型DoIP参考 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝完再…

Vue源码系列讲解——模板编译篇【三】(HTML解析器)

目录 1. 前言 2. HTML解析器内部运行流程 3. 如何解析不同的内容 3.1 解析HTML注释 3.2 解析条件注释 3.3 解析DOCTYPE 3.4 解析开始标签 3.5 解析结束标签 3.6 解析文本 4. 如何保证AST节点层级关系 5. 回归源码 5.1 HTML解析器源码 5.2 parseEndTag函数源码 6. …

使用MICE进行缺失值的填充处理

在我们进行机器学习时,处理缺失数据是非常重要的,因为缺失数据可能会导致分析结果不准确,严重时甚至可能产生偏差。处理缺失数据是保证数据分析准确性和可靠性的重要步骤,有助于确保分析结果的可信度和可解释性。 在本文中&#…

Linux_环境变量_命令行参数

一.环境变量 在Linux中自己写的程序必须要带路径才能运行,相对路径或是绝对路径,但是像ls pwd这样的程序,不带路径也能运行。当你想要运行一个程序时: 如果带有路径的话,则直接将对应路径的程序加载进内存&#xff0…

LeetCode、1268. 搜索推荐系统【中等,前缀树+优先队列、排序+前缀匹配】

文章目录 前言LeetCode、1268. 搜索推荐系统【中等,前缀树优先队列、排序前缀匹配】题目类型及分类思路API调用(排序前缀匹配)前缀树优先队列 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创…