暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

面试秘籍 | 一文搞定 Python 面试中的热门“字典”面试题

原创 小小亮 2022-08-25
1299

简介_

在python中,字典是数据值的无序集合,即花括号内的键:值对。字典中的键是唯一的(不能重复),而值可以重复。由于在项目中大量使用字典,因此在面试中经常会问到有关字典的问题。

因此,对于每个有志成为数据科学家的人来说,都需要对字典有很好的了解。

在本文中,将讨论一些重要的理论和实践问题,这将有助于有志者对字典有一个很好的理解。

python中的字典

字典面试题

问题1:什么是字典?

字典是一组键:值对,每对都是唯一的。可以使用空括号 {} 创建字典。我们可以给它添加一个 key: value 对。

例如 - dictionary1 = { 'a': 1, 'b': 2, 'c': 3 }

问题 2:字典是否区分大小写?

是的,字典区分大小写,即键名相同,但不同大小写的处理方式不同,即“apple”和“APPLE”将被视为单独的键。

问题 3:创建字典有哪些不同的方法?

创建字典的三种不同方法是:

1.创建一个空字典

Dictionary1 = {}
print(Dictionary1)


输出:

{}


key1 = 'a'
value1 = 1
Dictionary1[key1] = value1


输出:

{'a': 1}


2. 使用 dict() 方法创建字典

Dictionary1 = dict({1: 'a', 2: 'b'})
print(Dictionary1)


输出:

{1: 'a', 2: 'b'}


3.创建字典,每个项目成对

Dictionary1 = dict([(1,'a'), (2, 'b')])
print(Dictionary1)


输出:

{1:'a',2:'b'}

4.直接创建字典

Dictionary1 = {1: 'a', 2: 'b'}


输出:

{1:'a',2:'b'}


问题 4:什么是嵌套字典?它是如何创建的?

字典中的字典称为“嵌套字典”。对于前-

dictionary1 = {1: {'roll': '101', 'name': 'sam'},
                          2: {'roll': '102', 'name': 'ram'}}
print(dictionary1)


输出

{1: {'roll': '101', 'name': 'sam'}, 2: {'roll': '102', 'name': 'ram'}}

嵌套字典的元素可以使用

print(dictionary[1]['roll'])


输出:

101

问题 5:如何在 Dictionary 中添加元素?

字典中的元素可以通过多种方式添加:

1.一次添加一对

Dict1 ={}
Dict1[0] = 'a'
Dict1[1] = 'b'
print("Dictionary after adding 3 elements: ", Dict1)


输出:

{0: 'a', 1: 'b' }


2. 向单个键添加多个值

Dict1['values'] = 4, 5, 6
print("Dictionary after adding multiple values to a key: ", Dict1)


输出:

{0: 'a', 1: 'b', 'values': (4, 5, 6) }


3.添加嵌套键值对

Dict1['Nested'] = {1: 'Analytics', 2: 'Life'}


输出:

{0: 'a', 1: 'b', 'values': (4, 5, 6), 'Nested': {1: 'Analytics', 2: 'Life'} }


问题 6:讨论与 Dictionary 一起使用的不同方法。

Dictionary 使用的各种方法有:

1.清除()

它用于从字典中删除所有元素,即创建空字典。

dict2 = {1: 'Analytics', 2: 'Vidhya'}
dict2.clear()
print(dict2)


输出:

{ }

2. 获取()

它用于获取指定键的值。

x = dict2.get(2)
print(x)


输出:

Vidhya


3. 复制()

它用于返回字典的副本

dict3 = dict2.copy()
print(dict3)


输出:

{1: 'Analytics', 2: 'Vidhya'}


4.项目()

它用于返回由键值对组成的列表元组。

Dict1 = {1: 'Analytics', 2: 'Vidhya'}
print(Dict1.items())


输出:

dict_items([(1, 'Analytics'), (2, 'Vidhya')])


5.键()和值()

分别返回字典中的所有键和值。

Dict1.key()
Dict1.values()


输出:

dict_keys([1, 2]) 
dict_values(['Analytics', 'Vidhya'])


6.更新()

此方法更新字典中键的值

Dict1.update({2:"Blogathon"})
print(Dict1)


输出:

{1: 'Analytics', 2: 'Blogathon'}


问题 7:根据给定列表创建字典。例如-

输入: [1,'a',2,'b',3,'c'] 输出: {1:'a',2:'b',3:'c'}

def Convert_list_dict(dict2):

x = iter(dict2)

res_dct1 = dict(zip(x, x))

返回 res_dct1


dict1 = [1, 'a', 2, 'b',3, 'c']

打印(Convert_list_dict(dict1))

在这里, zip() 函数采用可迭代对象(也可以是两个以上)并将它们组合成一个元组。

输出:

{1:'a',2:'b',3:'c'}


问题 8:从字典中创建一个元组列表

可以通过以下方式创建元组列表:

dict1 = { 1: 'a', 2: 'b', 3: 'c' }
lst1 = list(dict1.items())
print(lst1)


输出:

[(1, 'a'), (2, 'b'), (3, 'c')]


问题 9:从字典中创建一个列表。

假设给定的字典是:

dict1 = { 1:'a',2:'b',3:'c'}

可以使用以下代码创建列表:

x = list(dict1.keys())
y = list(dict1.values())
for i in y:
      x.append(i)
print(x)


输出:

[1, 2, 3, 'a', 'b', 'c']


问题 10:如何从 Dictionary 中删除键值对?

可以使用'del'关键字删除键值对,如下所示:

del dict1[1]
print(dict1)


输出:

{2:'b',3:'c'}


问题11:字典是可变的吗?

术语“可变”意味着我们可以在字典中添加、删除或更新键值对。

是的,字典是可变的。例如,

Dict1 = {1: 'a', 2: 'b', 3: 'c', 4: 'd' }
Dict1[2] = 'h'
print(Dict2)


输出:

{1:'a',2:'h',3:'c',4:'d'}


问题 12:给定两个列表,根据它们创建一个字典。

输入:[ 1, 2, 3, 4, 5], ['a', 'b', 'c', 'd', 'e']

输出:{1:'a',2:'b',3:'c',4:'d',5:'e'}

让我们将这两个列表定义为 list1 和 list2,如下所示:

list1 = [1, 2, 3, 4, 5]
list2 = ['a', 'b', 'c', 'd', 'e']
dict1 = {}
for i, j in zip(list1, list2):
    dict1[i] = j
print(dict1)


输出:

{1:'a',2:'b',3:'c',4:'d',5:'e'}

实现相同输出的另一种方法:

dict1 = {i:h for i,j in zip(list1, list2)}
print(dict1)


输出:

{1:'a',2:'b',3:'c',4:'d',5:'e'}


问题 13:编写代码以使用键对字典进行排序。

Input: {2: ‘Apple’, 1:’Mango’, 3:’Orange’, 4:’Banana’}

Output: 1: Mango
2: Apple
3: Orange
4: Banana


下面是使用键对字典进行排序的代码:

dict1 = {2: 'Apple', 1:'Mango', 3:'Orange', 4:'Banana'}
print(sorted(dict1.keys()))
for key in sorted(dict1):
      print("Sorted dictionary using key:",(key, color_dict[key]))


输出:

[1, 2, 3, 4] 
1: Mango
2: Apple
3: Orange
4: Banana


总结

在这篇博客中,我们研究了 Dictionary 上一些重要且常见的面试问题。综上所述,本文的主要贡献如下:

1. 对字典的基本概念进行了讨论,以使读者熟悉它。

2. 我们学习了如何在 Dictionary 上执行各种功能,例如添加键值对和删除键值对。

3. 我们讨论了可用于与 Dictionary 一起工作和玩耍的各种功能。

4. 此外,我们还讨论了一些可以在面试中被问到的关于 Dictionary 的编程问题。


原文标题:Top Interview Questions on Dictionary in Python

原文作者:Saumyab271

原文链接:https://www.analyticsvidhya.com/blog/2022/07/top-interview-questions-on-dictionary-in-python/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论