2017-10-19 115 views
3

在Python中,可以很容易地创建如何在礼拜堂中表示集或词典?

>>> s = set() 
>>> s.add("table") 
>>> s.add("chair") 
>>> s.add("emu") 
>>> s 
set(['emu', 'table', 'chair']) 

了一套独特的,未排序的对象我知道教堂有域,但它是正确的使用这些作为套?有什么问题吗?字典怎么样?

回答

5

并非所有的教堂域集,但“关联域”可以作为集:

var s : domain(string); 
s.add("table"); 
s.add("chair"); 
s.add("emu"); 
writeln(s); // {chair, table, emu} 
var t = {"table", "chair", "emu"}; // associative domain literal 

像Python套,联想域的支持成员的检查和工会,差集,交集操作(等等)。 See the online docs for more information.默认情况下,关联域可以并行使用。

Chapel's'associative arrays'与python字典类似。教堂阵列是从索引到元素的映射,所以我们可以创建一个具有关联域的关联数组:

var inds = {1, 2, 3, 7, 42}; 
var map : [inds] string; 

map[3] = "foo"; 
map[42] = "bar"; 

inds.add(100); // add new index and element 
assert(map[100] == ""); 
map[100] = "baz"; 

var lit = ["bob" => 1, "alice" => 2]; // assoc. array literal