12节:基础类型 导读 字符 列表 元组 之曲 集合 上机实验:将字符串“abcdef"转换为列表,元组,字典,集合 字符串 字符串的定义是采用单引号或者双引号来完成: n "wanjunshe G angZho 输出字符串的方法用%s的模式 print("My name is %s"%name) 输出类型: print("type is%type(name)) 输出第 个字符 print("the first item is%(]) 输出最后的一个字符: print("the last item is%s"%name[-1]) 输出字符串的长度: lenght_max=len(name) print(lenght na 分别输出所有的字符: print(" fori in range(O,lenght_max,1): print(name[i]) 1,数据的索引是从0开始,而不是1开始 2,数据的范围都是)模型,左边包含当前值,右边不包含当前值 列表 列表是一个可以存放任何类型的动态的类型,用即来表 比如我来存放一个员工的基本数据person包括工号,姓名,年龄,入职日期,部门 person_wan=["010643","wanjunshe"43,"2018-08-14","HaoZhiYingXiang"] print(person wan) 输出第一个数据: ”个 print( 01 print(person_wan[-1]) 输出[2,4)的数据:
1.2 节:基础类型 导读: 字符串 列表 元组 字典 集合 上机实验:将字符串“abcdef”,转换为列表,元组,字典,集合 字符串 字符串的定义是采用单引号或者双引号来完成: name = "wanjunshe GuangZhou" 输出字符串的方法用%s 的模式: print("My name is %s"%name) 输出类型: print("type is %s"%type(name)) 输出第一个字符: print("the first item is %s"%name[0]) 输出最后的一个字符: print("the last item is %s"%name[-1]) 输出字符串的长度: lenght_max = len(name) print(lenght_max) 分别输出所有的字符: print("----------------") for i in range(0,lenght_max,1): print(name[i]) print("----------------") 注意事项: 1,数据的索引是从 0 开始,而不是 1 开始 2,数据的范围都是[ )模型,左边包含当前值,右边不包含当前值 列表 列表是一个可以存放任何类型的动态的类型,用[]来表示 比如我来存放一个员工的基本数据 person 包括工号,姓名,年龄,入职日期,部门 person_wan = ["010643","wanjunshe",43,"2018-08-14","HaoZhiYingXiang"] print(person_wan) 输出第一个数据: print(person_wan[0]) 输出最后一个数据: print(person_wan[-1]) 输出[2,4)的数据:
print(person_wan[2:4]) 列表是可以嵌套的 person07--14,] person =[person wan.person liul print(person) person_liu2=person_wan.copy() pers0nIiu20]="010666 person liu2111="liuxx" person_liu2[2]=33 person2=[person_wan,person_liu2] print(person2) Person_liu301=010666 person_liu3(1]"liuxx person_liu3[2]=33 person3=[person_wan,person_liu3] print(person3) 输出的结果: ['010643,wanjunshe,43,'2018-08-14,'HaoZhiYingXiang'] 010643 [43,'2018-08-14 [010643,wanjunshe',43,'2018-08-14,HaoZhiYingXiang'l,【'010666,iuxx,33"2017-08-14, 'HaoZhiYingXiang']l [o10643,wanjunshe',43,'2018-08-14,HaoZhiYingXiang'1,【o10666,liux,33,'2018-08-14, HaozhiYingXiang'll I010666 ,33,2018-08-14,HaoZhiYingXiang],[010666,'liuxx,33,2018-08-14 'HaoZhiYingXiang'】 分析结果,我们可以发现,通过coy的方式和直接赋值的方式,两个结果是不一样。原因 是coy是将值传递过去,赋值的方式,是将地址传递过去了。 元组 元组可以用来存储不同类型的数据和元组内的元素是不可以变的两个特点。元组与字符串的
print(person_wan[2:4]) 列表是可以嵌套的: person_liu = ["010666","liuxx",33,"2017-08-14","HaoZhiYingXiang"] person = [person_wan,person_liu] print(person) person_liu2 = person_wan.copy() person_liu2[0] = "010666" person_liu2[1] = "liuxx" person_liu2[2] = 33 person2 = [person_wan,person_liu2] print(person2) person_liu3 = person_wan person_liu3[0] = "010666" person_liu3[1] = "liuxx" person_liu3[2] = 33 person3 = [person_wan,person_liu3] print(person3) 输出的结果: ['010643', 'wanjunshe', 43, '2018-08-14', 'HaoZhiYingXiang'] 010643 HaoZhiYingXiang [43, '2018-08-14'] [['010643', 'wanjunshe', 43, '2018-08-14', 'HaoZhiYingXiang'], ['010666', 'liuxx', 33, '2017-08-14', 'HaoZhiYingXiang']] [['010643', 'wanjunshe', 43, '2018-08-14', 'HaoZhiYingXiang'], ['010666', 'liuxx', 33, '2018-08-14', 'HaoZhiYingXiang']] [['010666', 'liuxx', 33, '2018-08-14', 'HaoZhiYingXiang'], ['010666', 'liuxx', 33, '2018-08-14', 'HaoZhiYingXiang']] 分析结果,我们可以发现,通过 copy 的方式和直接赋值的方式,两个结果是不一样。原因 是 copy 是将值传递过去,赋值的方式,是将地址传递过去了。 元组 元组可以用来存储不同类型的数据和元组内的元素是不可以变的两个特点。元组与字符串的
区别在于:元组可以存储任何类型,字符串只能存储字符类型。元组的符号() 首先给出一个元组的例子: tuple_sample=(hello,13,2018-12-04,China[GuangZhouShenZhen'] print(type(tuple_sample)) 在进行数据计算是,圆括号被用来改变运算顺序,这个在库的调用中特别常见。也就是说, 如果有一个函数,需要有两个参数的传递,那么这两个参数的顺序是可以改变的: def fun(para_one,para_two): return 3*para_one+para_two fun_result_one=fun(para_one=10,para_two=20) one=10) print("fun_result_two is"fun_result_two) if(fun_result_one==fun_result_two): rint(the result is same") print("the result is not same") 输出的结果为: fun result one is 50 fun_result_two is 50 the result issame 在创建只包含一个对象的元组时,为了避免歧义,Pvho规定在这个唯一的对象后面加一 个逗号, t1 =('Hello World') t2=(Hello World,】 print("tltype is",type(t1)) print("t2 type is "type(t2)) print("t1is"t1)】 t1 type is <class 'str'> t2 type is <class 'tuple' t1is Hello world t2 is ('Hello world') 在语义明确的时候, 建立元组的括号可以省略 para='x,y','Z print(type(para)) print(para)
区别在于:元组可以存储任何类型,字符串只能存储字符类型。元组的符号() 首先给出一个元组的例子: tuple_sample = ('hello',13,'2018-12-04','China',['GuangZhou','ShenZhen']) print(type(tuple_sample)) 在进行数据计算是,圆括号被用来改变运算顺序,这个在库的调用中特别常见。也就是说, 如果有一个函数,需要有两个参数的传递,那么这两个参数的顺序是可以改变的: def fun(para_one,para_two): return 3*para_one + para_two fun_result_one = fun(para_one=10,para_two=20) print("fun_result_one is ",fun_result_one) fun_result_two = fun(para_two=20,para_one=10) print("fun_result_two is ", fun_result_two) if (fun_result_one == fun_result_two): print("the result is same") else: print("the result is not same") 输出的结果为: fun_result_one is 50 fun_result_two is 50 the result is same 在创建只包含一个对象的元组时,为了避免歧义,Python 规定在这个唯一的对象后面加一 个逗号。 t1 = ('Hello World') t2 = ('Hello World',) print("t1 type is ",type(t1)) print("t2 type is ",type(t2)) print(" t1 is ",t1) print(" t2 is ",t2) 输出的结果: t1 type is <class 'str'> t2 type is <class 'tuple'> t1 is Hello World t2 is ('Hello World',) 在语义明确的时候,建立元组的括号可以省略。 para = 'x','y','z' print(type(para)) print(para)
para_test=() print(type(para_test) print(para test) orint(. paral,para2,para3='xyz print(para1) 输出的结果: <class 'tuple'> (x.Y.) tunle (x,Y.z) <class'str'> 注意:在阅读时候,请注意省略的元组的模式。同时,在建立唯一对象的一个元组时候,必 须要添加 “,”作为结束 字典 字典就是键值对i:valuel,k2:value2,获取值的方法是para[key=value dict_test=10643"("Wanjunshe",),13:["abe""bbc"]) print(dict_test["10643") print(dict test[13]) 输出结果: ('Wanjunshe') ['abc',bbc'] 集合 集合用来记录某些无顺序关系的不可变对象是否存在其中,集合中没有重复的元素。创建集 合的方法有两种:一种以大括号包住集合元素,一种将集合元素以列表的形式传入内置函数 set_test=("abe""bbe",14,550) print(type(set_test)) print(set test) set_use=set(["abc","bbc",14,550]) print(tvpelset use)) 输出的结果 <class 'set' ('abc',550,'bbc',14) <dass 'set'>
para_test = ('x','y','z') print(type(para_test)) print(para_test) print('----------------') para1,para2,para3 = 'x','y','z' print(type(para1)) print(para1) 输出的结果: <class 'tuple'> ('x', 'y', 'z') <class 'tuple'> ('x', 'y', 'z') ---------------- <class 'str'> X 注意:在阅读时候,请注意省略的元组的模式。同时,在建立唯一对象的一个元组时候,必 须要添加一个“,”作为结束。 字典 字典就是键值对{k1:value1,k2:value2},获取值的方法是 para[key]=value dict_test = {"010643":("Wanjunshe",),13:["abc","bbc"]} print(dict_test["010643"]) print(dict_test[13]) 输出结果: ('Wanjunshe',) ['abc', 'bbc'] 集合 集合用来记录某些无顺序关系的不可变对象是否存在其中,集合中没有重复的元素。创建集 合的方法有两种:一种以大括号包住集合元素,一种将集合元素以列表的形式传入内置函数 set()。 set_test = {"abc","bbc",14,550} print(type(set_test)) print(set_test) set_use = set(["abc","bbc",14,550]) print(type(set_use)) print(set_use) 输出的结果: <class 'set'> {'abc', 550, 'bbc', 14} <class 'set'>
('abc',550,bbc,14) 注意:空集合只能以set0来完成 set_null_set={ print(set null set) set_null_use=set([]) print(set null use】 if (set_null_set==set_null_use) print("It is the same'】 else: print("It is not the same") 输出结果: set() It is not the same 上机实验:将字符串“abcdef",转换为列表,元组,字典,集合 string_test ="abcde print(type(string_test)) print(string_test) #to_list print(type(list_test)) print(list_test) #to tuple tuple_test=(string_test print(type(tuple_test)) tuple_test_try=(string_test,) print(type(tuple_test_try)) print(tuple_test_try) dict_test=("string":string_test) print(type(dict test)) print(dict_test["string") set_test=set([string_test]) print(type(set_test)) print(set test)
{'abc', 550, 'bbc', 14} 注意:空集合只能以 set()来完成。 set_null_set = {} print(set_null_set) set_null_use = set([]) print(set_null_use) if (set_null_set == set_null_use): print("It is the same") else: print("It is not the same") 输出结果: {} set() It is not the same 上机实验:将字符串“abcdef”,转换为列表,元组,字典,集合 string_test = "abcdef" print(type(string_test)) print(string_test) #to_list list_test = [string_test] print(type(list_test)) print(list_test) #to_tuple tuple_test = (string_test) print(type(tuple_test)) tuple_test_try = (string_test,) print(type(tuple_test_try)) print(tuple_test_try) dict_test = {"string":string_test} print(type(dict_test)) print(dict_test["string"]) set_test = set([string_test]) print(type(set_test)) print(set_test)