当我学习Python时,我遇到了这样的任务:
想象Python没有内置的对集合的支持。演示如何使用字典来表示集合。为这个集合的新表示形式编写四个集合操作\^&。
下面你可以看到答案:
首先,对于“或”操作,我们从两个输入列表中向新字典中添加条目:
l1 = [1,2,3,4,5]
l2 = [4,5,6,7,8]
def t_or(l1,l2):
result = {}
for x in l1: result[x] = 0
for x in l2: result[x] = 0
print(result)
所以,我想知道为什么作者会使用这样一种奇怪的方法来添加条目result[x] = 0
?难道没有更好的方法来做到这一点,比如使用.add
、.insert
等替代方法吗?
发布于 2021-11-09 08:19:23
result[key] = value
是在Python字典中分配新对key:value
的方法。您不必先在字典上创建条目键。例如,如果您来自Java,则语法如下所示:
Map<String, String> result = new HashMap<int, int>();
result.put(1, 0);
正如您所看到的,在Java上,您也没有声明键,在许多语言上也是如此,这是因为字典键是如何工作的。
当您想从字典中检索元素时,您必须确保该键已经存在于字典中,否则它将引发异常。
您在Python中想到的.add
或.insert
是.append
,用于向列表中添加一个新元素:
my_list = []
my_list.append(0)
因此,没有更好的方法或不同的方法在Python字典上分配新的key:value
对。
https://stackoverflow.com/questions/69894456
复制相似问题