Python Day-Tuples,集合:方法、示例、任务
来源:dev.to
时间:2024-12-26 16:03:40 240浏览 收藏
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 <class 'tuple'> 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<len(data): print(data[i][1],end=' ') i+=1
输出:
[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 <class 'tuple'> (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学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
349 收藏
-
117 收藏
-
488 收藏
-
398 收藏
-
450 收藏
-
385 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习