“人造太阳”计划

解决 list 中'int' object is not iterable

僤鯓⒐⒋嵵緔 提交于 2019-11-28 10:11:57
解决 list 中'int' object is not iterable ( https://blog.csdn.net/ShuqiaoS/article/details/82789159 ) for i in len(a) 错误 for i in range(len(a)) 正确 Python写循环程序的时候遇到 TypeError: ‘int’ object is not iterable,原因是循环中使用的应该是一组数。 来源: 51CTO 作者: 莫渺1996 链接: https://blog.51cto.com/12884584/2352059

map函数怎么用咧↓↓↓

北战南征 提交于 2019-11-28 10:11:28
Map 是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作! 1. map最基本的构造函数; map< string , int >mapstring; map< int ,string >mapint; map< sring, char >mapstring; map< char ,string >mapchar; map< char ,int >mapchar; map< int ,char >mapint; 2. map添加数据; map<int ,string> maplive; 1. maplive.insert(pair<int,string>(102,"aclive")); 2. maplive.insert(map<int,string>::value_type(321,"hai")); 3, maplive[112]="April"; //map中最简单最常用的插入添加! 3,map中元素的查找: find() 函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。 map<int ,string >::iterator l_it;; l_it=maplive.find(112); if(l_it==maplive.end()) cout<<"we do

3.梯度下降法

对着背影说爱祢 提交于 2019-11-28 07:10:03
(一)什么是梯度下降法 梯度下降法 和之前介绍的k近邻算法和线性回归法不同,梯度下降法不是一个机器学习算法。它既不能解决分类问题也不能解决回归问题,那梯度下降是什么呢?以及它的作用又是什么呢? 其实,梯度下降法是一种基于搜索的最优化方法。 作用就是最小化一个损失函数,或者最大化一个效用函数,当然最大化一个效用函数就不是梯度下降了,而是梯度上升,但是本质都是一样的。 为什么会有梯度下降 我们在线性回归中,我们可以求出最小化一个函数所对应的参数的解。但是后面我们会看到,很多算法我们是没办法直接求到解的。那么基于这样的模型,我们就需要使用搜索的策略,来找到这个最优解。那么梯度下降法就是在机器学习领域,最小化损失函数的一个最常用的方法。 图解梯度下降 图中描述了损失函数J和参数θ之间的变化关系,图像上每一个点都会对应一个切线,或者说是导数。由于我们这里是一维的,所以就用导数来描述了,如果是多维的,那么就要对每一个维度上进行求导,组合起来就叫做梯度。 我们发现当蓝色的点在左边的时候,那么随着θ的减小,J对应的取值就会变大。θ增大,J对应的取值就会减少。而我们的目的,是希望找到一个合适的θ,使得J能取到最小值。首先我们要知道,梯度(这里是导数)代表方向,代表J增大的方向,所以我们要沿着梯度的反方向(所以才叫梯度下降啊,如果是梯度上升,那么这里的函数就是效用函数),才能找到一个最小值

Python基础之 函数初识

孤人 提交于 2019-11-28 06:11:41
1. 文件操作: 读操作: 格式:f = open("文件路径",mode = "r",encoding = "utf-8") f : 代表文件句柄 文件路径: 绝对路径:从根文件夹下查找 相对路径: 相对于某个文件进行查找 f = open("D:\Python_s25\day08\小姐姐电话号",mode="r",encoding="utf-8")# print(f.read()) # 全部读取 (1)print(f.read(3)) # 按照字符读取 (2)print(f.readline()) # 默认尾部有一个\n# (3)print(f.readline().strip()) # 读取一行# (4)print(f.readline().strip()) # 将\n去除# (5)print(f.readlines()) #一行一行读取,全部存储在列表中 读字节:rb 读取图像,视频时使用的的操作 字节操作,不能执行encoding f = open("timg.jpg",mode="rb")# print(f.read()) # 全部读取 (1) print(f.read(3)) # 按照字节读取 (2)(f.readline()) # 按照行进行读取 (3)print(f.readlines()) r 和 rb 的区别: r 需要指定encoding,rb 不需要

map排序

*爱你&永不变心* 提交于 2019-11-28 05:58:42
STLmap实现自定义排序 1.map按照键值 key进行排序 map没有随机迭代器,只有顺序迭代器,不能使用sort 默认情况下是按照 less 升序排列 // map的原始定义 template< class Key, class T, class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T> > > class map; namespace pmr { template <class Key, class T, class Compare = std::less<Key>> using map = std::map<Key, T, Compare, std::pmr::polymorphic_allocator<std::pair<const Key,T>>> } #include<iostream> #include<map> using namespace std; int main() { srand((unsigned)time(NULL)); multimap<int,int>mp; // multimap第三个参数默认为less<Key>,即 less<int> int n; cin>>n; int a,b; for(int i=0; i<n;

c++之迭代器

别说谁变了你拦得住时间么 提交于 2019-11-28 04:54:07
迭代器: 1)定义:容器类名::iterator 迭代器名;     如:array<T,N>::iterator iter; vector<T>::iterator iter; deque<T>::iterator iter; list<T>::iterator iter; forward_lis<T>::iterator iter; 2)初始化:     vector<int> ivec;     vector<int>::iterator iter1=ivec.bengin(); //将迭代器iter1初始化为指向ivec容器的第一个元素     vector<int>::iterator iter2=ivec.end(); //将迭代器iter2初始化为指向ivec容器的最后一个元素的下一个位3)分类:正向迭代器:iterator    反向迭代器:reverse_iterator    常量正向迭代器:const_iterator    常量反向迭代器:const_reverse_iterator4)操作:    正向: *iter //对iter进行解引用,返回迭代器iter指向的元素的引用        iter->men //对iter进行解引用,获取指定元素中名为men的成员。等效于(*iter).men        ++iter //给iter加1

[Python] 迭代器是什么?你每天在用的for循环都依赖它!

若如初见. 提交于 2019-11-27 22:32:33
从循环说起 顺序 , 分支 , 循环 是编程语言的三大逻辑结构,在Python中都得到了支持,而Python更是为循环结构提供了非常便利的语法: for ... in ... 刚从C语言转入Python的同学可能倾向于写索引下标式的循环,例如下面的代码像遍历C中的数组一样遍历了一个Python中的列表: >>> colors = ['black', 'white', 'red', 'blue'] >>> for i in range(len(colors)): ... print(colors[i]) ... black white red blue 但如果将列表(list)替换为集合(set),这个方法就不奏效了: >>> colors = set(['black', 'white', 'red', 'blue']) >>> for i in range(len(colors)): ... print(colors[i]) ... Traceback (most recent call last): File "<stdin>", line 2, in <module> TypeError: 'set' object does not support indexing 这是因为set不像list,string,tuple这些结构,其中的元素从逻辑上讲本身是没有序的

python可迭代对象与迭代器

陌路散爱 提交于 2019-11-27 21:12:46
单词 global nonlocal dir iter next iter try except global ,nonlocal # global # 1, 在局部作用域声明一个全局变量 声明后就可以修改全局变量 # nonlocal 存在于双层嵌套中 # 1. 不能够操作全局变量。 # 2. 局部作用域:内层函数对外层函数的局部变量进行修改。 函数名的应用 # 函数名是一个特殊的变量。 # 函数名指向的是函数的内存地址,加上()就执行这个函数。 # 3. 函数名可以作为容器类类型的元素。 # 4. 函数名可以作为函数的实参。 # 5. 函数名可以作为函数的返回值。 默认参数的坑 # 陷阱只针对于默认参数是可变的数据类型: # 如果你的默认参数指向的是可变的数据类型,那么你无论调用多少次这个默认参数,都是同一个。 # 本质是闭包 # def func(name,alist=[]): # alist.append(name) # return alist # ret1 = func('alex') # print(ret1,id(ret1)) # ['alex'] # ret2 = func('太白金星') # print(ret2,id(ret2)) # ['太白金星'] # 局部作用域的坑 # 在函数中,如果你定义了一个变量,但是在定义这个变量之前对其引用了,那么解释器认为

函数进阶-迭代器

孤人 提交于 2019-11-27 19:45:43
迭代器 迭代: 迭代是更新换代,如你爷爷生了你爹,你爹生了你,迭代也可以说成是重复,并且但每一次的重复都是基于上一次的结果来的。如计算机中的迭代开发,就是基于软件的上一个版本更新。以下代码就不是迭代,它只是单纯的重复 迭代器:迭代的工具。 其他解释--> 迭代是Python最强大的功能之一,是访问集合元素的一种方式。 迭代器是一个可以记住遍历的位置的对象。 while True: print('*'*10) 一丶可迭代对象 python中一切皆对象,如 x = 1 name = 'nick' lis = [1, 2] tup = (1, 2) dic = {'name': 'nick'} s1 = {'a', 'b'} def func(): pass f = open('49w.txt', 'w', encoding='utf-8) 对于这一切的对象中,但凡有__iter__方法的对象,都是可迭代对象。 # x = 1.__iter__ # SyntaxError: invalid syntax # 以下都是可迭代的对象 name = 'nick'.__iter__ lis = [1, 2].__iter__ tup = (1, 2).__iter__ dic = {'name': 'nick'}.__iter__ s1 = {'a', 'b'}.__iter__ f =

STL中的set容器的用法

試著忘記壹切 提交于 2019-11-27 18:56:19
1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让用户在STL使用过程中,并不会感到陌生。 关于set,必须说明的是set关联式容器。set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序。应该注意的是set中数元素的值不能直接被改变。C++ STL中标准关联容器set, multiset, map, multimap内部采用的就是一种非常高效的平衡检索二叉树:红黑树,也成为RB树(Red-Black Tree)。RB树的统计性能要好于一般平衡二叉树,所以被STL选择作为了关联容器的内部结构。 关于set有下面几个问题: (1)为何map和set的插入删除效率比用其他序列容器高? 大部分人说,很简单,因为对于关联容器来说,不需要做内存拷贝和内存移动。说对了,确实如此。set容器内所有元素都是以节点的方式来存储,其节点结构和链表差不多