小编Jam*_*mal的帖子

迭代jinja2中的pandas数据帧

我有这个数据帧

        id       text
 0      12       boats
 1      14       bicycle
 2      15       car
Run Code Online (Sandbox Code Playgroud)

现在我想在jinja2中做一个选择下拉列表.但我找不到在jinja2中循环数据帧的方法.

我尝试使用to_dict().但是{%for key,x.items()%}中的值

它遍历id和text而不是行.我怎样才能改变这个,所以我可以在模板中做这样的事情?

{% for key,value in x.items() %}
Run Code Online (Sandbox Code Playgroud)

编辑:

正如John Galt建议的那样:

{% for key,value in x.items() %}
    <option value="{{ id }}">{{ text }}</option>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

python jinja2 pandas

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

如何根据宽度和高度调整对象的2D矢量大小?

我的类GameBoard有一个成员变量,它是该类对象的2D向量Tile.所述GameBoard构造函数采用的宽度和高度作为参数.

如何Tile根据传递给构造函数的宽度和高度来获取对象的2D向量?如何填充Tile物体以便我可以做这样的事情?

myVector[i][j].getDisplayChar();
Run Code Online (Sandbox Code Playgroud)

片段

m_vvTiles.resize(iHeight);

for(auto it = m_vvTiles.begin(); it != m_vvTiles.end(); it++ ){

    (*it).resize(iWidth,Tile(' '));
}
Run Code Online (Sandbox Code Playgroud)

c++ resize vector multidimensional-array c++11

12
推荐指数
3
解决办法
4万
查看次数

返回对象的向量的const引用

我有两个与同一问题有关的问题:

  1. 如何返回属于类的向量的引用?

    我有这门课:

    class sys{
        protected:
            vector<int> s;
    
        public:
            sys();
            vector<int>& getS() {return s;} //(1)
    };
    
    Run Code Online (Sandbox Code Playgroud)

    (1)应返回向量的引用s.但是,在main():

    main(){
        sys* my_sys = new sys();
        vector<int> &t1  = my_sys->getS(); //(2)
        vector<int> t2 = my_sys->getS(); //(3)
        ...
    }
    
    Run Code Online (Sandbox Code Playgroud)
    • t1是一个参考s(即t1改变时也改变my_sys.s).
    • t2是一个COPY s(即t2更改时my_sys.s未更改).

    为什么第(3)行有效?

  2. 我不希望它可以my_sys.s在课外改变,但我想因效率而返回参考.我在哪里放const

    我试图将第(1)行改为

    const vector<int>& getS() {return s;} //(4)
    
    Run Code Online (Sandbox Code Playgroud)

    但我不确定这是否足够.

c++ const return reference

11
推荐指数
3
解决办法
2万
查看次数

不使用<>调用模板函数; 类型推断

如果我有一个函数模板typename T,编译器可以自己设置类型,我在调用函数时不必显式写入类型:

template < typename T > 
T min( T v1, T v2 ) {
   return ( v1 < v2 ) ? v1: v2;
}
int i1 = 1, i2 = 2; int i3 = min( i1, i2 ); //no explicit <type> 
Run Code Online (Sandbox Code Playgroud)

但是,如果我有一个包含两个不同类型名称的函数模板,例如:

template < typename TOut, typename TIn >
TOut round( TIn v ) {
   return (TOut)( v + 0.5 );
}
double d = 1.54;
int i = round<int>(d); //explicit <int>
Run Code Online (Sandbox Code Playgroud)

我总是必须指定至少1个typename吗?我假设原因是因为C++无法区分不同返回类型之间的函数.

但是,如果我使用void函数并移交引用,我再次不能明确指定返回类型名称:

template < typename …
Run Code Online (Sandbox Code Playgroud)

c++ templates types inference

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

这两个类是否违反了封装?

class X
{
protected:
    void protectedFunction() { cout << "I am protected" ; }
};

class Y : public X
{
public:
    using X::protectedFunction;
};

int main()
{
    Y y1;
    y1.protectedFunction();
}
Run Code Online (Sandbox Code Playgroud)

这样我就可以公开基类的一个功能.

  1. 这不违反封装原则吗?
  2. 是否有一个特定的原因,为什么这是标准的?
  3. 是否有任何用途,或者是否会在新标准中进行更改?
  4. 标准中是否存在与此相关的未解决问题?

c++ inheritance encapsulation

9
推荐指数
3
解决办法
1566
查看次数

FullCalendar日期和时间处理

我正在使用FullCalendar脚本,并且无法在日历上格式化EVENTS的日期/时间.

我需要所有事件日期/时间数据看起来像:

2011-09-28 08:15:00

我的JSON源中的所有日期都是这样的,它正确地显示在日历上.但是,如果移动事件或添加新事件(通过永久拖动删除),则时间格式如下所示:

2011年9月30日星期五14:30:00 GMT-0400(美国东部时间)

它不以该格式显示,但是当我尝试将event.start或event.end插入到我的数据库中时,或者当我这样做时,它就会出现这种情况:

eventClick: function(event) {

alert("Event ID: " + event.id + " Start Date: " + event.start + " End Date: " + event.end);
}
Run Code Online (Sandbox Code Playgroud)

我只是用它来查看日历中的日期和时间是如何保存的.我需要使用新事件更新我的数据库,但是使用上面首次显示的格式,但我在执行此操作时遇到了问题.

我该如何使用该formatDate功能?我看到它列出了,我问的原因是因为我不知道该怎么做.

我做了:

$.fullCalendar.formatDate(event.start, 'MM-dd-yyyy');
Run Code Online (Sandbox Code Playgroud)

但那没有做任何事......

javascript fullcalendar

9
推荐指数
2
解决办法
4万
查看次数

为什么生成可执行文件需要一个目标文件?

编译代码时,会生成一个目标文件.从该目标文件中,在链接过程中生成可执行文件.

为什么我们需要一个目标文件?对象文件的用途是什么?难道不可能直接生成可执行文件吗?毕竟,我们正在使用可执行文件来运行程序.

linker executable object-files

9
推荐指数
1
解决办法
3532
查看次数

为什么注册时进行电子邮件验证很重要,是否"强制"?

超过少数几个网站不要求注册人验证他们的电子邮件,他们似乎工作正常,但没有强迫您经历这种(次要的)折磨.

似乎合乎逻辑的是,这种机制可以确保电子邮件的有效性并且可以阻止机器人不受欢迎,但它是否适用于低用户功能的网站,例如,仅用于撰写评论或任何相对无害的网站,以强制执行它?

email verification

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

如何从变量中访问特定的位组?

我有一个带有"x"位数的变量.如何提取特定的一组位,然后在C中处理它们?

c binary bit

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

虚假分享和pthreads

我有以下任务来演示虚假共享并编写了一个简单的程序:

#include <sys/times.h>
#include <time.h>
#include <stdio.h> 
#include <pthread.h> 

long long int tmsBegin1,tmsEnd1,tmsBegin2,tmsEnd2,tmsBegin3,tmsEnd3;

int array[100];

void *heavy_loop(void *param) { 
  int   index = *((int*)param);
  int   i;
  for (i = 0; i < 100000000; i++)
    array[index]+=3;
} 

int main(int argc, char *argv[]) { 
  int       first_elem  = 0;
  int       bad_elem    = 1;
  int       good_elem   = 32;
  long long time1;
  long long time2;
  long long time3;
  pthread_t     thread_1;
  pthread_t     thread_2;

  tmsBegin3 = clock();
  heavy_loop((void*)&first_elem);
  heavy_loop((void*)&bad_elem);
  tmsEnd3 = clock();

  tmsBegin1 = clock();
  pthread_create(&thread_1, NULL, heavy_loop, …
Run Code Online (Sandbox Code Playgroud)

c pthreads false-sharing

8
推荐指数
2
解决办法
3495
查看次数