◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
元组:
-->元组项是有序的,不可变的(不可更改),并且允许重复值。
-->元组用圆括号()书写。
-->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'}
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。