当前位置:首页 > 文章列表 > 文章 > python教程 > Python Day-Tuples,集合:方法、示例、任务

Python Day-Tuples,集合:方法、示例、任务

来源:dev.to 2024-12-26 16:03:40 0浏览 收藏

golang学习网今天将给大家带来《Python Day-Tuples,集合:方法、示例、任务》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习文章或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

元组:

-->元组项是有序的,不可变的(不可更改),并且允许重复值。
-->元组用圆括号()书写。
-->tuples 还允许索引、切片。
-->元组与列表类似,可以执行加法、乘法,很少有相同的功能也可以用于元组。

示例:

t = (10,20,30)
print('output:1',t)
print('output:2',type(t))

print('output:3',end=' ')
for num in t:
    print(num, end = ' ')

total = 0
print('output:4',end=' ')
for num in t:
    total+=num
print(total)

t[0] = 100

输出:

output:1 (10, 20, 30)
output:2 
output:3 10 20 30 output:4 60
'tuple' object does not support item assignment

-->对于最后一个输出,它显示错误,因为元组是不可变的项目分配无法完成。

元组打包和解包:

tuple packing and unpacking are features that allow you to group values into a tuple and extract them back into individual variables.

示例:

#tuple packing
t = 10,20,30
print(t)

#tuple unpacking
no1, no2, no3 = t
print(no1)
print(no2)
print(no3)

输出:

(10, 20, 30)
10
20
30

相同的函数可以用作列表函数。

示例:

t1 = 10,20,30,40,50,60,10

print(t1.count(10))
print(t1.index(20))
print(sorted(t1))

print(sorted(t1,reverse=false))

输出:

2
1
[10, 10, 20, 30, 40, 50, 60]
[10, 10, 20, 30, 40, 50, 60]

1) 找到
a)第二个列表
b) 列出总计
c) 仅打印每个列表中的第二个元素。
数据 = ([10,20,30],[40,50,60],[70,80,90])

data = ([10,20,30],[40,50,60],[70,80,90])

#second list
print(data[1])
#list wise total
for inner in data:
    total = 0
    for num,index in enumerate(inner):
        total+=index
    print(total,end=' ')
#print only second element from each list.
print()
i=0
while i



输出:

[40, 50, 60]
60,150,240,
20 50 80

eval() 函数:

此函数用于评估通过 input() 函数提供的元素类型是列表还是元组。

t = eval(input("enter tuple elements: "))
print(type(t))
print(t)

输出:

enter tuple elements: 10,20,30

(10, 20, 30)

next() 函数:
next() 函数返回迭代器中的下一项。

t = (no for no in range(1,11))
print(next(t))
print(next(t))
print(next(t))
print(next(t))

输出:

1
2
3
4

它迭代输出中的下一个值。

“is”和“==”的区别:(面试题)

--> '==' 被称为相等运算符。
--> “is”被称为恒等运算符。

-->== 检查值。
-->is 检查内存。

--> == 运算符帮助我们比较对象的相等性。
--> is 运算符帮助我们检查不同的变量是否指向内存中的相似对象。

示例:
列表:

l1 = [10,20,30]
l2 = l1
print(id(l1))
print(id(l2))
print(l1 == l2)
print(l1 is l2)

l2 = list(l1)
print(id(l2))
print(l1 == l2)
print(l1 is l2)

输出:

124653538036544
124653538036544
true
true
124653536481408
true
false

对于元组:

l1 = (10,20,30)
l2 = l1
print(id(l1))
print(id(l2))
print(l1 == l2)
print(l1 is l2)

l2 = tuple(l1)
print(id(l2))
print(l1 == l2)
print(l1 is l2)

输出:

130906053714624
130906053714624
true
true
130906053714624
true
true

元组与列表:

-->元组是不可变对象,列表是可变对象。
-->元组使用的内存更少,并且访问速度比列表更快。
-->由于元组是不可变的,因此大小将小于列表。

示例:

import sys
l = [10,20,30,40]
t = (10,20,30,40)
print(sys.getsizeof(l))
print(sys.getsizeof(t))

输出:

88
72

设置:
-->sets 用于在单个变量中存储多个项目。
-->集合是无序、不可变(不可更改)、无索引的集合。
-->忽略重复项。

设置方法:
1)union():(符号-|)返回包含集合并集的集合。

2)intersection():(symbol-&)返回一个集合,即其他两个集合的交集。

3)difference():(符号:'-')返回包含两个或多个集合之间差异的集合。

4)symmetry_difference():(symbol-^)返回具有两个集合的对称差的集合。

示例:1

s1 = {10,20,30,40}
s2 = {30,40,50,60}
print(s1.union(s2))
print(s1 | s2)

print(s1.intersection(s2))
print(s1 & s2)

print(s1.difference(s2))
print(s1 - s2)

print(s1.symmetric_difference(s2))
print(s1 ^ s2)

输出:

{40, 10, 50, 20, 60, 30}
{40, 10, 50, 20, 60, 30}
{40, 30}
{40, 30}
{10, 20}
{10, 20}
{10, 50, 20, 60}
{10, 50, 20, 60}

示例:2

s1 = {10,20}
s2 = {20,30}
s3 = {30,40}

print(s1.union(s2,s3))

result = s1 | s2 | s3
print(result)

输出:

{20, 40, 10, 30}
{20, 40, 10, 30}

注意:我们可以使用符号或方法名称。

丢弃():

--> 仅当该元素存在于集合中时才从集合中删除该元素。
--> 如果集合中不存在该元素,则不会引发错误或异常,并打印原始集合。

discard() 和 remove() 之间的区别
-->remove():仅当该元素存在于集合中时才从集合中删除该元素,就像discard()方法一样,但如果该元素不存在于集合中,则会引发错误或异常。
-->in discard() 不会引发错误或异常,并打印原始集。
参考-https://www.geeksforgeeks.org/python-remove-discard-sets/

示例:

s = {"abcd", 1.2, true, 500,500}
s.remove(10)
print(s)

s.discard(10)
print(s)

输出:

keyerror: 10
{'abcd', 1.2, 500, true}

任务:
match1 = {"sanju", "virat", "ashwin", "rohit"}

match2 = {"dhoni", "virat", "bumrah", "siraj"}
找到以下内容:

a) 匹配 1、匹配 2
b)参加了第一场比赛,但没有参加第二场比赛
c)参加了第 2 场比赛,但未参加第 1 场比赛
d)只参加了一场比赛

match1 = {"sanju", "virat", "ashwin", "rohit"}

match2 = {"dhoni", "virat", "bumrah", "siraj"}
#a
print(match1 & match2)
#b
print(match1 - match2)
#c
print(match2 - match1)
#d
print(match1 ^ match2)

输出:

{'virat'}
{'sanju', 'rohit', 'ashwin'}
{'dhoni', 'siraj', 'bumrah'}
{'sanju', 'bumrah', 'rohit', 'siraj', 'ashwin', 'dhoni'}

本篇关于《Python Day-Tuples,集合:方法、示例、任务》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

版本声明
本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
深入探讨电脑hosts文件:配置与应用详解深入探讨电脑hosts文件:配置与应用详解
上一篇
深入探讨电脑hosts文件:配置与应用详解
js数据库支持哪些数据类型
下一篇
js数据库支持哪些数据类型
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • ljg-skills -
    ljg-skills
    ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
    1735次使用
  • MELO音乐 - AI 音乐生成平台,支持多模态创作能力
    MELO音乐
    MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
    1671次使用
  • UniScribe - AI 免费在线音视频转文字平台
    UniScribe
    UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
    1606次使用
  • 剧云 - 免费 AI 智能中文剧本创作平台
    剧云
    剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
    1808次使用
  • 万象有声 - AI 一站式有声内容创作平台
    万象有声
    万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
    1793次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码