小编lin*_*llo的帖子

Python检查列表的所有元素是否都是相同的类型

如果列表的元素属于同一类型,python中如何检查(如果可能的话,不单独检查每个元素)?

例如,我想有一个函数来检查这个列表的每个元素是否为整数(这显然是假的):

x=[1, 2.5, 'a']

def checkIntegers(x):
    # return true if all elements are integers, false otherwise
Run Code Online (Sandbox Code Playgroud)

python types list

43
推荐指数
3
解决办法
5万
查看次数

如何在C++中有效地比较两个字符串映射

我想知道是否只应用一些标准算法就可以编写一个比较两个的短函数,std::map<string, string>如果所有键值(但是有些)都为真,则返回true.

例如,这两个地图应该被评估为相等

map<string,string> m1, m2;

m1["A"]="1";
m2["A"]="1";

m1["B"]="2";
m2["B"]="2";

m1["X"]="30";
m2["X"]="340";

m1["Y"]="53";
m2["Y"]="0";
Run Code Online (Sandbox Code Playgroud)

假设两个映射具有相同的大小,并且除了由键"X"和键"Y"存储的值之外,它们的所有元素必须成对比较.第一次尝试将是一个非常低效的双嵌套for循环.我相信可以实现更好的解决方案.

c++ comparison maps stl std

32
推荐指数
1
解决办法
4万
查看次数

编辑两个图之间的距离

我只是想知道,对于我们在两个字符串之间有Levenshtein距离(或编辑距离)的字符串,是否有类似于图形的东西?

我的意思是,标识了图来变换原子操作(节点和边的插入/缺失)的数目的标量量度G1到的曲线图G2.

language-agnostic algorithm edit-distance levenshtein-distance

19
推荐指数
3
解决办法
7966
查看次数

OpenGL立方体贴图中的面部约定

OpenGL遵循立方体贴图的惯例是什么?

我遵循了这个惯例(在网站上找到)并使用对应的GLenum来指定6个面,GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT但我总是得错Y,所以我必须将Y和负面反转为Y.为什么?

          ________
         |        |
         | pos y  |
         |        |
  _______|________|_________________
 |       |        |        |        |
 | neg x | pos z  |  pos x |  neg z |
 |       |        |        |        |
 |_______|________|________|________|
         |        |
         |        |
         | neg y  |
         |________|
Run Code Online (Sandbox Code Playgroud)

opengl 3d geometry glsl

16
推荐指数
2
解决办法
4241
查看次数

GLSL着色器用于立方体贴图表面上的光泽镜面反射

我为环境立方体贴图写了一个着色器

*顶点着色器*

varying vec3 Normal;
varying vec3 EyeDir;
uniform samplerCube cubeMap;

void main()
{
        gl_Position = gl_ModelViewProjectionMatrix*gl_Vertex;
        Normal = gl_NormalMatrix * gl_Normal;
        EyeDir = vec3(gl_ModelViewMatrix * gl_Vertex);
}
Run Code Online (Sandbox Code Playgroud)

*片段着色器*

varying vec3 Normal;
varying vec3 EyeDir;

uniform samplerCube cubeMap;

 void main(void)
 {
    vec3 reflectedDirection = normalize(reflect(EyeDir, normalize(Normal)));
    reflectedDirection.y = -reflectedDirection.y;
    vec4 fragColor = textureCube(cubeMap, reflectedDirection);
    gl_FragColor = fragColor;
}
Run Code Online (Sandbox Code Playgroud)

这是经典的结果: http://braintrekking.files.wordpress.com/2012/07/glsl_cubemapreflection.png?w=604&h=466 现在我想添加一些镜面白色高光,以获得更有光泽的效果,如motherpearl.怎么可能添加这种亮点?像这个图像中的那个我应该将镜面反射分量加总 gl_FragColor吗?第一次尝试是在顶点着色器中计算镜面反射

vec3 s = normalize(vec3(gl_LightSource[0].position - EyeDir));
vec3 v = normalize(EyeDir);
vec3 r = reflect( s, Normal );
vec3 …
Run Code Online (Sandbox Code Playgroud)

c++ opengl graphics glsl

16
推荐指数
1
解决办法
2万
查看次数

在QtCreator中导入CMake项目

我正在尝试在QtCreator中导入我的Cmake项目,我想将其用作代码编辑器,但是对于Qt类的completition,可以通过Ctrl + R进行构建

导入Cmake项目时,当我尝试选择RunCmake时,QtCreator ide在运行CMakeWizard时挂起.如果我取消弹出的空窗口,则不会生成项目.

是否可以在QtCreator中导入现有的cmake项目?

Ubuntu 10.10 x86_64,QtCreator 2.6

ubuntu qt build cmake qt-creator

16
推荐指数
1
解决办法
3万
查看次数

如何获取std :: set的第一个元素

我是你们所有人,

我在我的软件中发现了一个奇怪的错误.

在我从一个std :: set中删除元素的while循环中,我希望始终采用第一个元素,直到容器为空:

std::set< int*> nodes;
// Fill nodes 
for (int i=0; i<10;i++)
   nodes.insert(new int);
//
while (!nodes.empty())
{
int* pivot  = (*nodes.begin());
// do some operation with pivot erasing some elements from nodes
}
Run Code Online (Sandbox Code Playgroud)

我发现以这种方式实现第一个元素适用于gcc但不适用于MSVC,它会在我尝试取消引用(*nodes.begin())迭代器的地方崩溃.

std :: set的两个实现是否有不同的表现?

我希望有一个没有实现差异的数据结构,是否可能?

可能我必须改变这种操作的数据结构

c++ iterator stl set

15
推荐指数
1
解决办法
2万
查看次数

True = Python 2.x中的错误赋值

可能重复:
为什么Python不能像我期望的那样处理真/假值?

似乎是一个愚蠢的问题,但为什么Python中的以下语句未被明确禁止?

>> True=False
>> True
False
Run Code Online (Sandbox Code Playgroud)

如何TrueFalse由Python解释器处理的?

python boolean python-2.x keyword

13
推荐指数
1
解决办法
3641
查看次数

在CMake中将字符串拆分为3个变量

我有一个程序版本变量

set(MY_PROGRAM_VERSION "2.5.1")
Run Code Online (Sandbox Code Playgroud)

我想保存2,5,1到3个不同的变量,比如

MY_PROGRAM_VERSION_MAJOR=2
MY_PROGRAM_VERSION_MINOR=5
MY_PROGRAM_VERSION_PATCH=1
Run Code Online (Sandbox Code Playgroud)

但我真的不知道如何访问CMake列表中的单个元素.有些想法?

string list cmake

13
推荐指数
2
解决办法
9442
查看次数

Mayavi指向不同大小和颜色的3D

mayavi是否可以单独指定每个点的大小和颜色?

那个API对我来说很麻烦.

points3d(x, y, z...)
points3d(x, y, z, s, ...)
points3d(x, y, z, f, ...)

x, y and z are numpy arrays, or lists, all of the same shape, giving the positions of the points.
If only 3 arrays x, y, z are given, all the points are drawn with the same size and color.
In addition, you can pass a fourth array s of the same shape as x, y, and z giving an associated scalar value for each …
Run Code Online (Sandbox Code Playgroud)

python data-visualization vtk mayavi

13
推荐指数
3
解决办法
5888
查看次数