python中的列表和字典操作

2024-10-03 19:22:50 发布

您现在位置:Python中文网/ 问答频道 /正文

从.csv文件中,我提取了以下内容

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

我已经从文件中找到了上面的列表。这只是清单的一小部分。这份名单上大约有一万本字典。 当英语的价值被赋予时,我如何提取“尼泊尔语”的价值呢。我试图创建一个语言转换器。我正在使用python


Tags: 文件csv语言列表data字典english价值
1条回答
网友
1楼 · 发布于 2024-10-03 19:22:50

如果您正在寻找语言转换,可以执行以下操作:

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调用数据库。这将允许您在不更改代码的情况下添加/删除数据

相关问题 更多 >