python中的列表和字典操作



我从一个。csv文件中取出了以下内容

data=[
{
'English': 'swaziland',
'Nepali': 'स्वाज ील्याण्ड'
},
{
'English': 'varieties',
'Nepali': 'प्रजातिहरू'
},
{
'English': 'arbor',
'Nepali': 'arbor'
},
{
'English': 'bibek',
'Nepali': 'विवेक'
},
{
'English': 'configurations',
'Nepali': 'विन्यास'
},
]

我已经想办法从文件中得到上面的列表。这只是列表中的一小部分。该列表有大约1万个字典。我如何提取"尼泊尔"的价值?当英语的价值被赋予时。我想做一个语言转换器。我正在使用python

如果您正在寻找语言转换,您可以这样做:

data=[
{
'English': 'swaziland',
'Nepali': 'स्वाज ील्याण्ड'
},
{
'English': 'varieties',
'Nepali': 'प्रजातिहरू'
},
{
'English': 'arbor',
'Nepali': 'arbor'
},
{
'English': 'bibek',
'Nepali': 'विवेक'
},
{
'English': 'configurations',
'Nepali': 'विन्यास'
},
]
english_name = input('Give me an English word: ')
found = False
for item in data:
if item['English'] == english_name:
print(item['Nepali'])
found = True
break
if found == False:
print('Not found')

输入的单词没有找到时的结果:

python3 test.py
Give me an English word: ask
Not found

找到输入的单词时的结果:

python3 test.py
Give me an English word: bibek
विवेक

考虑另一种存储数据的方法

data = {
'swaziland':  'स्वाज ील्याण्ड'
, 'varieties': 'प्रजातिहरू'
, 'arbor': 'arbor'
, 'bibek': 'विवेक'
, 'configurations': 'विन्यास'
}
english_name = input('Give me an English word: ')
if english_name in data:
print(data[english_name])
else:
print('Not found')

如果您像上面所示的那样将数据存储为英语和尼泊尔语文本对,您将获得出色的性能,因为字典查找比遍历列表中的每个条目要快。

甚至更好——将数据存储在SQLite之类的数据库中,然后使用Python调用数据库。这将允许你在不更改代码的情况下添加/删除数据。

最新更新