python序列数据有哪些,python返回所有子序列

  python序列数据有哪些,python返回所有子序列

  Yyds干货库存

  Python中的数据序列(II) 1。工作回顾1。找到幸运数字6。幸运数字6(只要是6的倍数):输入任意数字,比如数字8,生成元素值为1~8的nums列表。从中选择幸运数字,并将其移动到新的幸运列表中。打印nums和Lucky。

  #步骤1:定义两个空列表nums=[]lucky=[]#步骤2:提示用户输入数字num=int(input(请输入您要输入的数字:)#步骤3:生成一个nums列表(num加1)并将所有数据追加到nums列表中I在范围(1,1)内:nums.append (i) #步骤4:遍历nums,获取nums中I的幸运数字:如果i% 6==0: #幸运数字删除nums.remove(i) #将幸运数字写入lucky追加(I) #第五步:打印nums和luckyprint(nums)打印(lucky)2、随机分配8个讲师到3个教室[[],[],[]],8个讲师[a , b , c , d , e , f , g , h],随机分配8个讲师到3个教室。

  分析:

  思考:我们的第一课堂,第二课堂,第三课堂,你们是怎么表达的?

  Rooms=[[],[],[]]#第一间rooms[0]#第二间rooms[1]#第三间rooms[2]思考二:如何从八个老师中一次读出一个人?

  答:使用while或for遍历。

  3.思考:我们如何在阅读讲师的每个周期中随机将他们写入一个教室?

  Rooms[0或1或2]=阅读讲师信息的综合代码:

  导入随机# 1,定义3个教室8个讲师室=[[],[],[]]教师=[a , b , c , d , e , f , g ,H]# 2。遍历教师中教师的所有讲师:# 3。生成一个随机数index=random.randint(0,2) Rooms [index]。追加(老师)# 3。输出每个教室的讲师信息# print(rooms)I=1 for room in rooms:print(f 第{i}个教室的讲师:{room}) i=13。知识点补充串:split()方法

  函数:根据指定的字符分割一个字符串,它返回一个列表。

  fruit= apple-banana-orange print(fruit . split(-))String:join()方法

  函数:与split()方法相反,它的主要功能是将序列拼接成字符串。

  字符串。连接(数据序列)案例:将水果列表[苹果,香蕉,橙子]拼接成苹果-香蕉-橙子

  1=[苹果,香蕉,橘子]打印(-)。join (list1)) II。元组的定义和使用1。为什么需要元组思维:如果要存储多个数据,但是这些数据不能修改,怎么办?

  答:列表?列表可以一次存储多个数据,但列表中的数据可以更改。

  Num _ list=[10,20,30] num _ list [0]=100在这种情况下,我们要存储多个数据,并且数据不能更改。我们做什么呢

  回答:使用==tuple,tuple可以存储多个数据且tuple中的数据不可修改。==

  2.元组的定义元组的特征:定义元组使用==括号==,使用==逗号==分隔数据。==数据可以是不同的数据类型。==

  基本语法:

  #多数据元组tuple1=(10,20,30)#单数据元组tuple2=(10,)注意:如果定义的元组中只有一个数据,在这个数据后面要加一个逗号,否则这个数据类型就是这个数据的唯一数据类型。

  3.元组的相关操作方法。因为元组中的数据不能直接修改,所以大部分操作方法都是查询方法。

  数字函数1元组[index]根据==index下标==find element 2index()查找一些数据。如果数据中有相应的下标,否则将报告错误。语法与list和string的索引方法相同。3count()统计某个数据在当前元组中出现的次数。4len()计算元组中数据的数量。情况1:访问元组中的元素。

  Nums=(10,20,30)print(nums[2])情况二:找到元素在元组中出现的位置,如果存在则返回索引下标,如果不存在则直接报错。

  Nums=(10,20,30) print (nums.index (20))情况三:统计一个元素在元组中出现的次数。

  Nums=(10,20,30,50,30) print (nums.count (30))情况四:4:len()方法主要是求数据序列、字符串、列表、元组的长度。

  Nums=(10,20,30,50,30) print (len (nums)) III。字典——Python 1中的查询工件。为什么需要字典思考1:比如我们要存储一个人的信息,姓名:Tom,年龄:20岁,性别:男,如何快速存储。

  Person=[Tom , 20 , male]思维二:在日常生活中,姓名、年龄、性别是一个人的基本特征。但如果用链表来存储,就会分散成三个元素,这显然是不合逻辑的。有没有办法可以保存在同一个元素里?姓名、年龄和性别是这个元素的三个属性。

  答:使用Python中的字典。

  2.dictionary dict Python的概念特征:

  符号为==花括号==(花括号)={}

  数据为==key-value pair==形式为={key:value},key:键名,value: value。在同一个字典中,键必须是唯一的(类似于索引下标)

  每个键值对由==逗号==分隔

  定义:

  #有一个数据字典dict1={ 姓名:汤姆,年龄:20,性别:男性 } #空字典dict2={}dict3=dict()3。字典添加的基本语法:

  字典名[key]=value注意:如果键存在,修改这个键对应的值;如果键不存在,添加这个键-值对。案例:定义一个空字典,然后添加姓名、年龄、地址等三个关键字。

  # 1、定义一个空字典person={}# 2、给字典添加数据person [姓名]=刘备 person[年龄]=40person [地址]=钟书 # 3、使用print方法打印person字典print(person)注意:列表和字典都是可变类型。

  4.delete dictionarydel dictionary name[key]:删除指定元素。

  # 1、用数据person={ 姓名:王大锤,年龄:28,性别:男,地址:北京市海淀区 }# 2、删除字典中的一个元素(如性别)del person[性别]# 3

  # 1、用数据person={name :王大锤,年龄:28,性别:男,地址:北京市海淀区 }# 2、用clear()方法清除字典person.clear()# 3、打印字典print(person)5

  字典名[key]=value注意:如果键存在,修改这个键对应的值;如果键不存在,添加这个键-值对。案例:定义一个字典,里面有姓名,年龄,地址,修改关键地址的值。

  # 1、定义字典person={name :孙悟空,年龄:600,地址:花果山 }# 2、修改字典中的数据(地址)person[地址]=东土大唐 # 3、打印字典print(person)6、字典的

  序列[关键字]字典的相关查询方法

  编号函数1get(key,default value)根据字典键获取相应的值,如果当前搜索的键不存在,则返回第二个参数(default value),如果省略第二个参数,则返回None2keys()返回列表中字典的所有键,3values()返回列表中字典的所有值,4items()返回列表中可遍历的(key,values)元组数组例1:

  # 1、定义一个字典cat={name: Tom , age: 5, address: new york }# 2、获取字典的相关信息name=cat . get( name )age=cat . get( age )gender=cat . get( Male )# get(key,默认值)address=cat . get( address )print(f name:{ name },age: {age},gender: {gender},address: {address )情况2:提取个人字典中的所有键

  # 1、定义一个字典person={ name : Diu Sim的故事, age: 18, mobile: 1376502249} # 2、提取字典print(person.keys())中的姓名、年龄和移动属性例3:提取person字典中的所有value值。

  # 1,定义一个字典person={ name : Diu Sim的故事, age: 18, mobile: 1376502249} # 2,提取字典中Diu Sim的故事的数字,18和13765022249 print(person.values())。案例4:使用

  # 1,定义一个字典person={ name : Diu Sim的故事, age: 18, mobile: 1376502249} # 2,调用items方法获取数据,dict_items([(name , Diu Sim的故事),( age ,)1376502249 )]# print(person . items())# 3。用for循环遍历字典中的数据for key,value in person . items():print(f“{ key }:{ value }”)7 .综合案例:通讯录管理系统需求:打开一个通讯录管理。

  知识点:列表、字典、无限循环

  扩展:在Python中,我们可以用字典来保存一个人的基本信息。但是如果要保存很多人的信息,就必须把列表和字典结合起来。

  Students=[0,1,2]student={name :刘备,年龄:18,移动: 10086 } Assembly:students=[{name :刘备,年龄:18,移动:年龄:17,移动: 10000},{ name :张飞,年龄:16,移动: 10010}]为什么需要无限循环:

  当我们选择一个菜单时,一旦功能完成,整个程序就完成了。为了让程序一直运行,可以模拟无限循环的效果,让程序一直运行。

  虽然正确:要求:一般情况下,通讯录管理系统应该有四个功能:==添加,删除==更改,查看。

  # 1,定义一个列表,Students=[]# 2为了存储以后所有学生的通讯信息,打印功能菜单打印(- * 40)打印(欢迎使用传智教育通讯录管理系统V1.0 )打印([1]添加学生信息)打印([2]删除学生信息)打印([3]退出系统)打印40)同时为真:# 3。提示用户执行相关操作。user_num=int(input(请输入要执行的操作号:))如果user_num==1: # 4。提示用户输入学生的信息。student={} student[姓名]=input(请输入学生姓名:)student[年龄]=int(input(请输入学生年龄:))student[手机]=input(请输入学生电话:)# 5。将学生信息保存在列表students . append(student)Print(students)elifuser _ num==2:name=input(请输入要删除的学生的信息:)# 6 .遍历学生中I的所有学生信息:if I [name]==name: #从列表中删除整个学生(字典):students.remove(i) print(成功删除)print(学生)else: print(您要删除的学生信息不存在)elif user_num==3: print(感谢您使用传智教育通讯录管理系统V1.0版)Break else: print(输入错误,请重新输入要操作的数字)IV集合3354求交、并、差集合1、什么是集合集合(set)是不重复元素的无序序列。

  天生减肥。

  紊乱

  2.集合的定义。在Python中,我们可以用一对花括号{}或者set()方法来定义一个集合,但是如果你定义的集合是一个空集,那就只能用set()方法了。

  #定义一个集合S1={10,20,30,40,50} print (S1) print (type (S1)) #定义一个集合:集合中存在相同的数据s2={ 刘备,曹操,孙权,曹操 }print(s2)print(type(s1))#定义一个空集S3={ } S4=set()print(type(S3))# class dict print(type(S4))# class set 3 .集合操作的相关方法(增加、删除、检查)集合的增加操作

  Students=set()students.add(李哲)students.add(刘一)print(students) update()方法:向集合中添加串行数据(字符串、列表、元组、字典)。

  Students=set()list1=[刘备,关羽,赵云]Students . update(list 1)print(students)students=set()students . add(刘德华)students。add (dawn) #使用update添加一个新元素,students。更新( KUN ),删除集合 remove()方法:删除集合中指定的数据,如果数据不

   discard()方法:删除集合中指定的数据,数据不存在不报错。

   pop()方法:随机删除集合中的一些数据,返回这些数据。

  # 1,定义一组products={ 萝卜,白菜,桃子,奥利奥,番茄,菠萝 }# 2,使用remove方法删除元素products.remove(白菜)print(products)# 3,使用discard方法删除未知元素products.discard(玉米)print(products)# 4,使用pop方法随机删除del _ product=products . pop()print(del _ product)集合中的一个元素。 in:判断一个元素是否在集合中,如果是,返回True,否则返回False。

  不在:判断一个元素不在集合中,如果不在,返回True,否则返回False。

  #定义一个集合s1={ 刘帅,英标,高远 } #确定刘帅是否在s1集合中如果刘帅在s1: print(刘帅在s1集合中)否则:print(刘帅不在s1集合中)集合的遍历操作

  对于集合中的I:打印(i)4、集合中的交、并、差特征。在Python中,我们可以使用来寻找两个集合的交集:

  在Python中,我们可以使用来寻找两个集合的并集:

  在Python中,我们可以使用-来寻找两个集合的差集:

  #求集合的交、并、差s1={ 刘备,关羽,张飞,丢辛的故事 }s2={ 袁绍,吕布,曹操,丢辛的故事 } #求两个集合的交打印(s1 s2)#求两个集合的并打印(

  2.通用公共方法1操作符支持的容器类型描述合并元素中的字符串、列表、元组*复制字符串、列表、元组。不在元素中的字符串、列表、元组、字典是否存在?案例1:合并

  # 1,加号代表两个序列之间的联系和整合。str 1= hello str 2= world print(str 1 str 2)# 2,定义两个列表并集成它们的数据。list1=[刘备,关羽]list2=[诸葛亮,赵云]print(list1 list2)# 3。定义两个元组并整合它们的数据。Tuple1=(10,20) Tuple2=(30,40) print (Tuple1Tuple2)案例2: *复制

  # 1、字符串与乘号的关系print(- * 40)print(传智教育Python管理系统V1.0)print(- * 40)# 2、列表与乘号的关系list 1=[ *]print(list 1 * 10)# 3、元组与乘号的关系tuple1=

  ips=[192.168.10.11 , 10.1.1.100 ,172 . 15 . 184 . 31 ]if 10 . 1 . 1 . 100 in IPS:print(列表中的元素已经存在)else: print(列表中的元素不存在)3 .常用公共方法2编号函数说明1len()根据索引计算容器2del或del()下标中的元素个数。返回4分钟内容器中元素的最大值()和5范围内容器中元素的最小值(开始、结束、步进)。从开始到结束(不含)的数字在step中生成,使用6enumerate()函数将一个可遍历的数据对象(如列表、元组或字符串)组合成一个索引序列,同时列出数据和数据下标。它通常用在for循环中。1: len()获取字符串、列表、元组、字典和集合的长度。

  #定义一个字符串str 1= hello world print(f(f 字符串长度为{len(str1)})#定义一个列表list1=[10,20,30,40,50]print(f 列表长度为{len(list1)})#定义一个字典dict1={name :哆啦a梦, gender:male , address : Tokyo } print(f 字典长度为{len (dict1)。

  #定义一个list1=[吕布,董卓,丢西姆的故事] #删除董卓Dellist1 [1] print (list1)使用del方法#定义一个字典dict1={name :白,年龄:23,地址:东海龙宫 }。

  1=int (input(请输入第一个数字:))num2=int(input(请输入第二个数字:))num3=int(input(请输入第三个数字:))list1=[num1,num2,3]num _ num=max(list 1)min _ num=min(list 1)print(f maximum:{ max _ num } )print(f minimum:{ min _ num } )情况4: enumerate(),它将一系列数据构造成一个键:值结构,并且

  1=[10,20,30,40,50] n=1 for I in list1: print(第f { n }个数字:{i}) n=1 print (-* 40) for key,value in enumerate (list1): print(第f个)

  # 1,定义元组类型序列tuple1=(10,20,30) print (list (tuple1)) # 2,定义一个集合类型序列set1={a , b , c , d} print (list (set1)) # 3,定义年龄:18,地址:钟书 }print(list(dict1))tuple()方法:将一个序列类型的数据转换成元组,

  #定义一个列表类型数据list1=[a , b , c , d] print (tuple (list1)) #定义一个集合类型数据set1={10,20,30,40} print (tuple (set1)) set()方法。

  #定义一个列表类型数据list1=[a , b , c , d , a] print (set (list1)) #定义一个元组类型数据tuple1=(10,20,30,40)print(set(tuple 1))Derivation是一个可以从一个数据序列构造另一个新的数据序列(一个正则列表或者控制一个正则列表)的结构。派生有三种:列表派生、集合派生和字典派生。

  [1,2,3]推导公式[1,4,9]

  2.为什么需要演绎案例:创建一个0-9的列表。

  While循环:

  #初始化计数器I=0 list 1=[]# I=9时写入循环条件:list1.append(i) #更新计数器i=1print(list1)for循环:

  1=[] #为范围(0,10)中的I编写循环:list1。Append (i) print (list1)思考:能不能把上面的代码简化成一行代码来修复这个程序?

  答:可以,用推导。

  3.列表演绎的基本语法:

  变量名=[列表中变量的表达式列表中变量的表达式]变量名=[列表中变量的表达式if条件]情况:定义一个0到9之间的列表。

  1=[]对于范围(10)中的I:list 1。附加(I)打印(列表1)列表推导

  1=[I for I in range(10)]print(list 1)principle:[I for I in range(10)]

  推导首先运行表达式右边的内容:第一次遍历:i=0时,得到变量I的结果,这个结果会放入最左边的变量I中,此时是列表中的[0]。第二次遍历:i=1时,得到变量I的结果,这个结果会追加到最左边的变量I,此时在列表中是[0,1].将添加最左边的变量I。此时是列表中的[0,1,2,3,4,5,6,7,8,9]4。在使用列表派生时,我们可以使用for循环。事实上,我们还可以在遍历过程中引入if条件判断。

  variable=【if条件判断时序列中临时变量的表达式】等价于for序列中临时变量:if条件判断情况:生成0到9之间的偶数(i%2==0)序列。

  1=[I for I in range(10)if I % 2==0]print(list 1)5、for循环嵌套列表派生for range中的临时变量(n):for range中的临时变量(n):基本语法:

  变量=[序列中临时变量的表达式序列中临时变量的表达式]案例:创建一个列表=[(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]

  (1,0) (1, 0-2)

  (1,1) (1, 0-2)

  (1,2) (1, 0-2)

  (2,0) (2, 0-2)

  (2,1) (2, 0-2)

  (2,2) (2, 0-2)

  本机代码:用于循环嵌套

  1=[] #范围(1,3)中I的外循环:#范围(0,3)中j的内循环:tuple1=(I,j) list1。追加(tuple1)打印(list1)列表派生:

  1=[(i,j) for i in range (1,3) for j in range (0,3)] print (list1) 6。字典衍生思维:有以下两个列表,如何快速合并成一个字典?

  1=[姓名,年龄,性别] list2=[汤姆,20,男性] person={ 姓名:汤姆,年龄:20,性别:男性 }答:用字典推导。

  基本语法:

  (1)字典推导是列表推导思想的延续,语法相似,但只产生一个字典。

  字典推导格式:

  变量={key:value for key,value in sequence}字典派生函数:==快速将列表合并到字典中或者从字典中提取目标数据。==

  1:创建字典:字典键是1到5的数字,值是这个数字的二次方。

  字典1={1:1,2:4,3:9,4:16,5:25}

  Dict1={I: I * * 2 for I in range (1,6)} Print (Dict1)情况2:将两个列表合并成一个字典

  1=[姓名,年龄,性别] list2=[汤姆,20,男性] # Result: person={ 姓名:汤姆,年龄:20,性别:男性 } person=

  Counties={MBP: 268,惠普:125,戴尔:201,联想:199,宏基:99} # Demand:提取上述数量大于等于200的计算机的字典数据counts={key:value for key,Value in counts . items()if Value=200 } print(counts)7 .集合派生与列表派生非常相似,唯一的区别是使用了{}而不是[]。

  思考:为什么需要集合推导,但是列表推导不香?

  答:收藏最大的特点就是去重。

  要求:用下面列表的2次方的数据创建一个集合。

  1=[1,1,2]集1={1,4}导数

  1=[1,1,2]set 1={ I * * 2 for I in list 1 } print(set 1)转载请联系作者授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: