blog.csdn.net/ffblog/article/details/46558051
一.序列
1.用于存储一系列的数据
2.在内存中,序列就是一块用于存放多个值的连续的内存空间
如a=[10,20,30,40]存储示意:
3.python中序列结构:str,list,tuple,dict,set
4.dict存储原理:底层仍是依靠列表实现,核心是散列表
(1)散列表:
(2)键值对如何放入dict:
#创建dict对象:
>>>a={
}
>>> a['name']='gaoqi'
创建完dict对象后,生成一个散列表,假设长度为8:
首先算出键’name’的散列值,即哈希值:
>>> hash('name')
8232312710671778809
>>> bin(hash('name'))
'-0b1010111101001110110101100100101'
可以用最右侧n(如3)位数(101)2(即(5)10)作为偏移量,查看对应的bucket是否为空:如果为空,放入键值对;否则,取前n位(如3)数(100)2(即(4)10)作为偏移量,如此循环
(3)如何根据键查找键值对:
>>>a={
'name':'gaoqi'}
>>>a.get('name')
'gaoqi'
调用dict.get(key)时,就是根据key查找键值对,找到value
首先,计算key的散列值
>>>bin(hash('name'))
'-0b1010111101001110110101100100101'
拿出最右边n位(如3)数(101)2作为偏移量,查看对应的bucket是否为空:如果为空,返回none;否则比较key的哈希值是否相同,相同返回value,否则取前n位继续查看,如依次取完仍未找到则返回none
(4)总结:
1.num,str,tuple等
2.自定义对象:
·支持hash()
·支持__eq__()
·若a==b为True,则hash(a)==hash(b)也为True
5.set存储原理:底层是dict实现,set中所有元素都是dict中的key,因此不能重复
文章浏览阅读64次。计算 f(x1,x2)=x^2+x1^2-x0*x1-10*x0-4*x1+60#include "stdio.h"#include "stdlib.h"#include "math.h"double objf(double x[]){double ff;ff=x[0]*x[0]+x[1]*x[1]-x[0]*x[1]-10*x[0]-4*x[1]+60;return(ff);}void jtf(..._机械优化设计进退法c语言程序
文章浏览阅读1.8k次,点赞18次,收藏25次。如何认识和快速上手 `Print.js`,我们可以从官网的内容开始阅读,在官网中有很详细的介绍和使用例子,虽然是英文版的。`Print.js` 打印插件包括了 `PDF` 打印、`HTML` 打印、`JSON` 打印、图像打印等。本人每篇文章都是一字一句码出来,希望对大家有所帮助,多提提意见。_vue3 print-js
YOLOV8 C++ opecv_dnn模块部署。opencv编译需时间久,GPU版本可实时,有问题私信留言。
文章浏览阅读2.3w次。使用struts有一个很奇怪的事情,就是你不知道在什么时候,就放进来一个bug,重复地提交,而且渗透到好几个方法,甚至整个action都会被污染。像打补丁似的,struts本身可以有一个可以用来防止重复提交的拦截器: 虽然这个token能够有效地防止重复提交,但是也能够让你原来的架构一团糟。可以拿一个亲身经历作为教材。在一个搭了frame的框架里,左边的frame_js获取token
文章浏览阅读6.4k次。今天在跑一个faster-rcnn的案例(https://pjreddie.com/darknet/yolo/)涉及到编译 openCV,于是又再一次编译并配置一次 OpenCV。值得一提的是,如果你只是使用一些深度学习框架(如,tensorflow 或者 keras 等)需要用到 opencv 的话(import cv2),只需要直接安装 opencv-python 即可。执行 pip install opencv-python 命令即可。期间也遇到一些挺常见的错误,本人借此机会整理于此。_fatal: in-source builds are not allowed. you should create a separate direct
文章浏览阅读1.1k次,点赞2次,收藏12次。在每次迭代过程中,由随机生长树生成的新节点new,根据目标q目标的吸引力逐渐趋向于目标,生长树向目标点增长。否则,应用Swap函数切换到另一个树T2以增长一次,以此类推,直到当循环达到指定的次数时程序停止,从而得到更好的路径。高质量采样策略:根据单向的目标偏向策略,将目标点视为具有一定概率的随机采样点,使新节点具有向目标增长的趋势。有效搜寻策略:每棵树的目标点和随机采样点分别对最近的节点有吸引力,障碍是对最近的节点有排斥力。生长,直到两棵生长树相遇形成可行路径,在后续迭代中,更新更好的路径。_apf-rrt*
文章浏览阅读1.9k次。打开一个终端窗口(cmd),输入以下命令进入SQL*Plus。3、查看用户(知道要修改用户名的跳过)_oracle密码忘记了
文章浏览阅读2k次。要使加数乘积最大,那么所有的加数要尽可能接近。所以设n的加数如下:2+3+…+m+k;m为最大加数,k为剩余的数(k<=m);然后把k分到其他数中,策略就是从m->2的数值一次加一,直至把k消耗完。要使加数乘积最大,那么所有的加数要尽可能接近。所以设n的加数如下:2+3+…+m+k;m为最大加数,k为剩余的数(k<=m);然后把k分到其他数中,策略就是从m->2..._把一个数拆成n个不相同的数的和乘积最大
文章浏览阅读630次。3、接收到数据后进行转换。2、在使用的页面引入。_json.parse丢精度
文章浏览阅读2.2w次,点赞8次,收藏51次。Docker 安装Docker 部署redis在docker hub 上可以看到有redis 的官方镜像不去网站,也可以通过如下命令查看有那些镜像可用Docker search 命令docker search redis 拉取redis镜像Docker pull 命令这里我们拉取官方的最新版本的镜像:docker pull redis:latest查看本地镜像Docker images 命令有redis 和 hello-world运行容器Docker run 命令d_docker redis
文章浏览阅读675次。在 Windows 10 的最新内测版本中(Windows 10 Insider Preview Build 20150),微软为WSL 的安装和内核升级新增了两个命令,分别是wsl.exe--install和wsl.exe--update。Windows 10 用户可通过命令行工具或Windows Terminal 运行上述命令。在尚未开启WSL 的机器上运行wsl.exe--install命令将会启用 WSL 可选组件和虚拟机平台可选组件,并提示重启机器。通过此方式安装 WSL 会将W..._wsl.exe
文章浏览阅读1.3k次。sort() 方法用于对数组的元素进行排序,并返回数组。默认排序顺序是根据字符串Unicode码点。语法:arrayObject.sort(sortby);参数sortby可选。规定排序顺序。必须是函数。注:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如果..._js sort对象中的参数