如何给元祖赋值?
my_tuplel = ('邱强强','ABC','123','wnag三')如何给元祖开辟内存大小?
my_tuple2 = (10,20) #如果()有大于等于2个以上的int,表示的不是内存,内存只能写一个int值 my_tuple = (120) #n内存大小为120获取元祖的下标去拿值,或者修改值等操作 - - - 元祖不能重新赋值 - - -重点
#my_tuep4[1] = '李四 ' my_tuple5 = 12,13,1456789,'邱强强' #此邪法也是元祖的写法但是不建议使用 my_tuple6 = ('邱强强','李四','张涛','李涛')思考?delete 和 drop是什么区别?
(1)delete只能操作表数据,但是不能操作表结构,也不能改变表结构等,只能删除数据 Python的del也是不能操作表结构,只能删除元祖\list列表中数据! (2)drop执行drop命令将表和表数据彻底删除,并且drop破坏表结构,会造成内存溢出,数据很难维护
总结:企业优化sql里面不能使用drop - - -作业:如何优化sql
#备注:元祖的截取是通过list列表的切片机制操作! #计算机语言的括号使用规则 ([]) {[],[]}
#元祖的关键字是tuelp
my_tuple7 = (),() my_tuple8 = [],[] print('多维元祖:',type(my_tuple7)) print('多维数组:',type(my_tuple8)) my_tuple9 = [] print('多维列表:',type(my_tuple9))利用一个[]可以创建一个list列表,但是定义2个或者多个[]表示的是多维元祖,列表是特殊的元祖,元祖里包含列表
my_tuple7 = (12)备注:
**(12)**有两种解释
值为12Python解释器在内存里面执行的时候,会按照内存12操作数据my_tuple8 = (12,123,2,3,555,4587,-55) num1 = max(my_tuple8) num2 = max(my_tuple8,my_tuple2) print(‘max的最大值为’,num1) print(‘max的最大值为’,num2)
列表转化为元祖的特性 - - - 重点面试
列表是有序的,列表可以改变值,元祖有固定位置元祖的优先级大于列表,在工作里面,尽量使用元祖定义数据。列表存放数据没有元祖安全、数据没有元祖易维护,元祖查询数据的速度比列表快万物皆为对象- - - 对象的属性、方法就属于元素- - -元祖字典的核心特性:
字典使用{} - - -为什么/json{} {}表示键值对的写法,此写法传输数据的速度极快!字典的关键字dict dictionary字典通过键取值 ,键不可以重复,值可以重复 - - - Map一样 面试必问(Map list set)字典的键和数据库的ID主键原理一样#字典的键是任意的不可改变对象(int、str、bool、tuple…),但是一般我们都会使用str
#Map<Inteager,String> map = new Map<Inteager,String>#备注:Python为什么key也使用str 呢?因为服务器永远是字符串,- - -胶水语言
d1={'name':'Tom','age':18,'sex':'男' } d2={'name':'Bob', 'age':19, 'sex':'男' }#代码具有可读性 print('通过student2的键取值',d2['name']) print('通过student2的键取多个值',d2['name'],d2['age'],d2['sex'])##如果使用了字典中不存在的键,会报错
my_tuple10 =['12','123',1234] my_tuple11 =(12,12) #my_tuple12 =my_tuple10 + my_tuple11 #print('my_tuple12是通过列表和元祖拼接结果:',my_tuple12) my_tuple18 = {(1,2),(3,5)} print('my_tuple18是通过列表和元组拼接的结果:',type(my_tuple18)) d2 = {'name':'qqq', 'age':18, 'gender':'男', 'name2':'sasdada' }#代码具有可读性 print('len的个数',len(d2))总结:
在key -value 里面。企业通过Key获取值,不建议使用index获取值。键定义为str类型键获取值的原理是什么? -----Mapping映射关系扩展:映射的作用是什么?为什么企业框架 ssm、ssh都会采用映射?
通过映射可以减少开发代码量映射可以很好的将项目的业务进行 d3 = {'name':'qqq', 'age':18, 'gender':'男', 'name2':'asdadsa' }#代码具有可读性 d3['name2'] = '邱强强'#1.如果有相同的Key,则会覆盖之前的Key d3['name3'] = '是爸爸' print('d3值为:',d3) print('d3值为3:',d3)#2.如果之前的数据没有Key,则通过Key新增加一条数据 result = d3.setdefault('birthday',1998) print('result的结果是',result) print('result之后的d3:',d3) d4 = {'a':1,'b':2,'c':3} d5 = {'d':4,'e':5,'f':6,'a':7} d4.update(d5) print(d4) print(d5)CRUD list\元set集合 - - - 切片操作 - - - 遍历结果集- - -3大循环
定义一个字典
思考?如何获取person3的值 get key index 的 切片
通过str可以将{值} [值]一次性输出,并且不需要类型转换str不仅仅是一个字符串#备注:元祖里面嵌套字典、列表,对于key-values来讲会发生key-values的值的不确定性!
keys的底层实现原理 - - -可以一次性查询去所有键,为什么?
D.keys() -> a set-like object providing a view on D’s keys"" keys底层其实是一个like函数的查询方法!但是like的查询效率太低 like不可以满足查询海量数据的操作like查询数据会产生缓存!- - - jd 淘宝 聚美优品 - - -查询数据(solr)全文检索
like在操作数据的时候会将数据切片!数据可能不是很完整!- - -不再使用!
select name from emp like name =’% 王’ select name from emp like name =‘强%’ select name from emp like name =’%强’