在使用“ spark2-submit”时,Python dict发生了意外的排序行为。
[tmp.py]
protected static function boot()
{
parent::boot();
static::creating(function($item) {
$item->event_id = Event::currentEventID();
});
}
预期:
d = {
'name': 'stackoverflow',
'email': 'atack@xxx.com',
'zip': '628888',
}
print(d)
实际:
{
'name': 'stackoverflow',
'email': 'atack@xxx.com',
'zip': '628888',
}
> -bash-4.1$ spark2-submit tmp.py
我无法使用“ python或python3 tmp.py”命令。这是一个大故事。请忽略此。使用Python或Python3的方式,运行良好。我想使其通过 {'name': 'stackoverflow', 'zip': '628888', 'email': 'atack@xxx.com'}
19/08/08 09:33:35 INFO util.ShutdownHookManager: Shutdown hook called
19/08/08 09:33:35 INFO util.ShutdownHookManager: Deleting directory /tmp/spark-9bb6bd82-ba2c-4715-b27a-6fdc41d3297b
-bash-4.1$
方式工作。
疑问,基于实际结果:
spark2-submit
应该放在顶部)email
应该放在顶部。想知道,它以哪种方式应用排序功能以及如何停止这种自动排序。我需要订单的方式与我们输入的方式相同。
谢谢
答案 0 :(得分:1)
在python中,psql-client
|
|_ pkg
|
|_psql.go
键没有定义的排序顺序。您可以使用OrderedDict来维护关键顺序:https://docs.python.org/2/library/collections.html#collections.OrderedDict
示例:
dict
注意: 从Python3.7 +开始,字典实际上会保留其键插入顺序。 https://mail.python.org/pipermail/python-dev/2017-December/151283.html