我很好奇为什么 Raku 在操作多维数组时表现如此糟糕。我在 Python、C# 和 Raku 中做了一个初始化二维矩阵的快速测试,而后者的耗用时间非常高。
对于乐
my @grid[4000;4000] = [[0 xx 4000] xx 4000];
# Elapsed time 42 seconds !!
Run Code Online (Sandbox Code Playgroud)
对于 Python
table= [ [ 0 for i in range(4000) ] for j in range(4000) ]
# Elapsed time 0.51 seconds
Run Code Online (Sandbox Code Playgroud)
C#
int [,]matrix = new int[4000,4000];
//Just for mimic same behaviour
for(int i=0;i<4000;i++)
for(int j=0;j<4000;j++)
matrix[i,j] = 0;
# Elapsed time 0.096 seconds
Run Code Online (Sandbox Code Playgroud)
我做错了吗?好像差别太大了。
这可能很愚蠢,但我还没有在文档中找到关于如何以简单的方式初始化固定数组或多维数组而无需迭代的好的解决方案。
my @array[10] = [0,0,0,0,0,0,0,0,0,0];
my @grid[100;100];
Run Code Online (Sandbox Code Playgroud) 如何定义 json 属性到属性名称不同的 pydantic 模型之间的映射?IE:
# I want to parse thumbnailUrl into thumbnail
class ChatMessageAttachment(BaseModel):
id: str
thumbnail: Optional["str"] = None
external_data = {"id": "123", "thumbnailUrl": "www.google.es"}
chat_message = ChatMessageAttachment(**external_data)
print(chat_message) # >>>id='123' thumbnail=None
Run Code Online (Sandbox Code Playgroud)