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

ID:22052 / 打印

元组:

-->元组项是有序的,不可变的(不可更改),并且允许重复值。
-->元组用圆括号()书写。
-->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() 函数:

立即学习“Python免费学习笔记(深入)”;

此函数用于评估通过 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'} 
上一篇: PyTorch 中的 ImageNet
下一篇: ETL 中多少自动化才算是太多自动化

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。