给定一个列表,我如何获得两个非连续项之间的所有组合?
例如,输入[1, 2, 3, 4, 5]如何获得输出[(1,3), (1,4), (1,5), (2,4), (2,5), (3,5)]?
我不感兴趣的(1,2),(2,3),(3,4)或(4,5)因为他们是连续的(即彼此相邻)在列表中,但一切我很感兴趣.
在Python中最常用的方法是什么?
鉴于以下(为了论证而简化)docker-compose.yml文件:
version: '3'
services:
postgres:
image: fleetit-postgres
deploy:
restart-policy:
condition: on-failure
ports:
- "5432:5432"
environment:
POSTGRES_USER: "root"
POSTGRES_PASSWORD: "demo1234"
POSTGRES_DB: "fleetit"
Run Code Online (Sandbox Code Playgroud)
我试图用命令部署一个堆栈
docker stack deploy -c docker-compose.yml stackdemo
Run Code Online (Sandbox Code Playgroud)
但它只是给我抛出了错误
restart-policy Additional property restart-policy is not allowed
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
这是我正在运行的 Docker 版本:
$ docker version
Client:
Version: 18.04.0-ce
API version: 1.37
Go version: go1.10.1
Git commit: 3d479c0af6
Built: Tue Apr 17 22:46:17 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.04.0-ce
API version: 1.37 (minimum version 1.12)
Go …Run Code Online (Sandbox Code Playgroud) 我想在一个独立的Docker容器上运行一个带有PostgreSQL数据库和由Django支持的REST API的应用程序.到目前为止,API已经在连接到SQLite数据库的Docker上运行,但我现在遇到麻烦,我想要连接到PostgreSQL数据库.
Docker的docker-compose.yml文件:
version: '2'
services:
postgres:
image: postgres
api:
build: .
command: bash -c "python manage.py migrate && python manage.py runserver 0.0.0.0:1337"
volumes:
- .:/usr/src/app
ports:
- "1337:1337"
depends_on:
- postgres
Run Code Online (Sandbox Code Playgroud)
Django settings.py(使用基本postgres图像根据文档使用的默认设置):
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'wgomanager',
'USER': 'postgres',
'PASSWORD': 'mysecretpassword',
'HOST': 'localhost',
'PORT': '5432',
}
}
Run Code Online (Sandbox Code Playgroud)
当我docker-compose up最终启动应用程序时,抛出此错误:
api_1 | connection = Database.connect(**conn_params)
api_1 | File "/usr/local/lib/python3.6/site-packages/psycopg2/__init__.py", line 130, in connect
api_1 | conn = _connect(dsn, …Run Code Online (Sandbox Code Playgroud) 我想cv::VideoCapture有条件地调用构造函数.如果argc == 2,则用户指定了视频文件,我想加载它.否则使用默认摄像头.
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main(int argc, char* argv[])
{
VideoCapture cap(argc == 2 ? argv[1] : 0);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我编译并运行它
$ g++ -g -Wall -o main main.cpp `pkg-config opencv --cflags --libs`
$ ./main
Run Code Online (Sandbox Code Playgroud)
但遗憾的是它似乎没有用,我得到了
OpenCV: Couldn't read movie file ""
Run Code Online (Sandbox Code Playgroud)
三元运算符在一种情况下返回一个字符串,在另一种情况下返回一个整数.我认为这是行不通的,因为我不知道C++构造函数的一些特性.
做我想要的最干净的方法是什么?我可以不使用new这样做,所以我不必在程序结束时自己释放内存吗?
docker ×2
python ×2
c++ ×1
combinations ×1
django ×1
docker-swarm ×1
list ×1
opencv ×1
postgresql ×1