我有一个文件:
Bulgaria = Bulgarian
Croatia = Croatian
Austria = Croatian
Czech Republic = Czech
Slovakia = Czech
Denmark = Danish
Germany = Danish
Belgium = Dutch
Netherlands = Dutch
Ireland = English
Malta = English
United Kingdom = English
Estonia = Estonian
Finland = Finnish
Belgium = French
France = French
Italy = French
Luxembourg = French
Austria = German
Belgium = German
Denmark = German
Germany = German
Italy = German
Luxembourg = German
Cyprus = Greek
Greece = Greek
Austria = Hungarian
Hungary = Hungarian
Romania = Hungarian
Slovakia = Hungarian
Slovenia = Hungarian
Ireland = Irish
United Kingdom = Irish
Croatia = Italian
Italy = Italian
Slovenia = Italian
Latvia = Latvian
Lithuania = Lithuanian
Malta = Maltese
Poland = Polish
Portugal = Portuguese
Romania = Romanian
Slovakia = Slovak
Czech Republic = Slovak
Hungary = Slovak
Slovenia = Slovenian
Austria = Slovenian
Hungary = Slovenian
Italy = Slovenian
Spain = Spanish
Sweden = Swedish
Finland = Swedish
在Python中,我使用以下代码创建一个具有字符串键和数组值的关联数组:
from collections import defaultdict
mydata = defaultdict(list)
myfile = open("myfile", "r")
for line in myfile:
country, language = line.rstrip('\n').split(" = ")
mydata[country].append(language)
它创建了这样一个数据结构:
'Bulgaria' = ['Bulgarian']
'Croatia' = ['Croatian']
'Austria' = ['Croatian', 'German', 'Hungarian', 'Slovenian']
# and so on
Perl和Ruby具有类似的关联数组。Go可以使用maps和append()
创建它。
我看到很多Pascal中提到关联数组,但找不到将数组作为值使用的示例。
我正在使用FreePascal,希望避免使用外部库。你能给我展示一个示例吗?
PS:我知道这看起来像作业,但它不是。
fgl
中的TFPGMap
。键是字符串,值是动态的string数组
。向这样的数组添加数据与Python中不同,但它们的工作方式相似。 - Rudy Velthuis