我想将我的列表list = [" a , 1 ", " b , 2 "]转换为嵌套列表[["a","1"],["b","2"]].
以下作品:
f1_a = map(lambda x :[t.strip() for t in x.split(',',1)],list)
Run Code Online (Sandbox Code Playgroud)
但这不适用于Python 3(它适用于Python 2.7!):
f1_b = map(lambda x :map(lambda t:t.strip(),x.split(',',1)),list)
Run Code Online (Sandbox Code Playgroud)
这是为什么?
有没有更简洁的方法f1_4来实现我想要的?
我有一个 spring(启动)服务器,想要使用 springdoc 从注释生成 OpenAPI 规范。
我有一个请求,请求正文中有两个参数。我希望第一个是必需的,第二个是可选的。
@RequestBody(required = {true|false})似乎只将主体中的所有参数设置为(不需要)。@Parameter另一方面,Javadoc说要使用io.swagger.v3.oas.annotations.parameters.RequestBody
这是我的代码,我希望生成一个规范,其中第一个参数是必需的,第二个参数是可选的:
@GetMapping("/fstVector")
public ResponseEntity<Vector> fstV(@RequestBody final Vector v1, @RequestBody(required = false) final Vector v2) {
return new ResponseEntity<>(v1, HttpStatus.OK);
}
@PostMapping("/fstVector")
public ResponseEntity<Vector> fstVPost(@RequestBody(required = true) final Vector v1, @RequestBody(required = false) final Vector v2) {
return new ResponseEntity<>(v1, HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)
然而,生成的规范需要两个参数:
/pond/fstVector:
get:
tags:
- circle-escape-controller
operationId: fstV
parameters:
- name: v1
in: query
required: true
schema:
$ref: '#/components/schemas/Vector'
- name: v2
in: query
required: …Run Code Online (Sandbox Code Playgroud) 我很愚蠢地stanford-parser.jar进入我的构建路径.有没有办法单独获取所需的模型文件englishPCFG.ser.gz,然后到LexicalizedParser.loadModel("/absolute/path/englishPCFG.ser.gz");?
我正在尝试为 Snap 实现 MonadUnliftIO 并分析 Snap 类。我发现 ap 用于实现 Applicative,而 ap 需要 Monad,Monad 需要 Applicative。它看起来像一个循环。
我认为直到现在不可能写出这样的东西。这种把戏的极限是什么?
class Functor f => Applicative f where
pure :: a -> f a
(<*>) :: f (a -> b) -> f a -> f b
class Applicative m => Monad m where
return :: a -> m a
instance Applicative Snap where
pure x = ...
(<*>) = ap
ap :: Monad m => m (a -> b) -> m a -> m b
Run Code Online (Sandbox Code Playgroud) 我有一个列出存储桶的本地脚本:
import boto3
s3_client = boto3.client('s3')
for bucket in s3_client.list_buckets()["Buckets"]:
print(bucket['Name'])
Run Code Online (Sandbox Code Playgroud)
当我在本地执行它时,它就是这样做的。现在,如果我在 AWS 上以 lambda 形式执行此代码并将日志级别设置为DEBUG,如下所示:
import boto3
import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
s3_client = boto3.client('s3', endpoint_url="http://localhost:4566")
def lambda_handler(event, context):
s3_client.list_buckets()
return { "statusCode": 200 }
Run Code Online (Sandbox Code Playgroud)
我获得了详细的日志,例如发送到 S3 的 HTTP 请求的标头。
但如果我将这些谎言添加到我的本地脚本中,则不会发生任何变化。我试过了:
import boto3
import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
s3_client = boto3.client('s3')
for bucket in s3_client.list_buckets()["Buckets"]:
print(bucket['Name'])
Run Code Online (Sandbox Code Playgroud)
和
import boto3
import logging
logging.getLogger('boto3').setLevel(logging.DEBUG)
logging.getLogger('botocore').setLevel(logging.DEBUG)
logging.getLogger('s3transfer').setLevel(logging.DEBUG)
s3_client = boto3.client('s3')
for bucket in s3_client.list_buckets()["Buckets"]:
print(bucket['Name'])
Run Code Online (Sandbox Code Playgroud)
正如这里所建议的,在这两种情况下我都没有收到日志。我怎样才能让我的本地脚本显示 …
我有一个文件,其中每一行以整数开头,我想从每个数字中减去2,以便例如
2 foo
2 bar
3 foo
3 bar
Run Code Online (Sandbox Code Playgroud)
变
0 foo
0 bar
1 foo
1 bar
Run Code Online (Sandbox Code Playgroud)
我试过了
perl -pe 's/^(\d+)/($1 - 2)/g' file #-> '(2 - 2) foo'...
perl -pe 's/^(\d+)/add($1, -2)/g' file #-> 'add(2, -2) foo'...
Run Code Online (Sandbox Code Playgroud)
两者都不适合我.我已经读过Perl会根据我使用它们的上下文将字符串解释为数字,但我似乎无法明确表达我的意图.
我想制作一条宽度等于圆直径的圆形线.经过多次试验和错误后,这似乎产生了想要的输出.
import Diagrams.Prelude
import Diagrams.Backend.Cairo.CmdLine
main = mainWith example
path = fromVertices [p2 (0,0), p2 (3,0)] # lw 80
example :: Diagram B
example = atPoints [p2 (0,0)] n
<> (path # lineCap LineCapRound . lineJoin LineJoinRound)
<> atPoints [p2 (3,0)] n
<> square 10 # lw none # fc white
where
n =[circle 1 # fc green # lw none]
Run Code Online (Sandbox Code Playgroud)
但感觉不对.我希望lw 2对应circle 1因为2是半径的两倍,但肯定不是lw 80?!
为什么它适用于80?假设我错过了一些东西,怎么做一个像圆一样宽的圆形线?
我想用 ggplot2 显示 difftime 数据,并且我希望刻度格式为hh:mm.
library(ggplot2)
a= as.difftime(c("0:01", "4:00"), "%H:%M", unit="mins")
b= as.difftime(c('0:01', "2:47"), "%H:%M", unit="mins")
ggplot(data=NULL, aes(x=b, y=a)) + geom_point(shape=1) +
scale_x_time(labels = date_format("%H:%M"),
breaks = "1 hour")
Run Code Online (Sandbox Code Playgroud)
但我收到以下警告:
Don't know how to automatically pick scale for object of type difftime. Defaulting to continuous.
Warning message:
In structure(as.numeric(x), names = names(x)) : NAs introduced by coercion
Run Code Online (Sandbox Code Playgroud)
更新: 我的例子太小了,我还需要能够显示负差异,所以这将是更好的数据:
a= as.difftime(c(-60, -4*60), unit="mins")
b= as.difftime(c(-60, 2*60+47), unit="mins")
ggplot(data=NULL, aes(x=b, y=a)) + geom_point(shape=1)
Run Code Online (Sandbox Code Playgroud) 我对发布请求感到很陌生,但我遇到了以下错误
java.lang.IllegalStateException:您可以在 POST 中发送表单参数或正文内容,但不能同时发送两者!
这是我的测试
public void createModel() {
JSONObject obj2 = new JSONObject();
obj2.put("name", "hello1234");
List<JSONObject> list1 = new ArrayList<JSONObject>();
list1.add(obj2);
System.out.println(" i am list 1 " + list1);
JSONObject obj = new JSONObject();
obj.put("modes", list1);
System.out.println("i am a object \n" + obj.toString());
System.out.println("testtest " + obj);
Response response = httpRequest.auth().preemptive().basic("test", "test")
.given().contentType("application/json").body(obj.toString()).when().post("/modes").then().using()
.extract().response();
int statusCode = response.getStatusCode();
System.out.println(statusCode + " this is post");
System.out.println("This is body" + response.getBody().prettyPrint());
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 RestAssured 3.0.2 依赖项它确实工作正常,突然出现错误,任何帮助将不胜感激
我想将以下(工作)java 测试转换为 Kotlin:
package my.project;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import static java.util.Collections.singletonList;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class MyTempFileTest {
@TempDir
public File tempFolder;
@Test
public void testTempFolder() {
Assertions.assertNotNull(tempFolder);
}
@Test
public void testTempFolderParam(@TempDir File tempFolder) {
Assertions.assertNotNull(tempFolder);
}
}
Run Code Online (Sandbox Code Playgroud)
使用 IntelliJ 的内置转换器,它变成:
package my.project
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.io.TempDir
import java.io.File
class MyTempFileTest {
@TempDir
var tempFolder: File? = null
@Test
fun testTempFolder() {
Assertions.assertNotNull(tempFolder)
}
@Test
fun …Run Code Online (Sandbox Code Playgroud) haskell ×2
python ×2
amazon-s3 ×1
aws-lambda ×1
boto3 ×1
difftime ×1
ggplot2 ×1
java ×1
junit5 ×1
kotlin ×1
lambda ×1
logging ×1
openapi ×1
perl ×1
python-3.x ×1
r ×1
rest-assured ×1
spring-boot ×1
springdoc ×1
stanford-nlp ×1
tempdir ×1