📜  集合和字典的Python运算符

📅  最后修改于: 2022-05-13 01:55:07.218000             🧑  作者: Mango

集合和字典的Python运算符

以下文章主要讨论集合和字典中使用的运算符。运算符通过使用各种关键字和符号,帮助将现有值组合到更大的句法表达式中。

  1. 集合:集合类用于表示没有重复的元素集合,并且这些元素没有任何固有的顺序。它由 {} 包围,每个元素由逗号 (,) 分隔,并且是可变的。

例子:

Python3
# set of alphabet
set = {'a', 'b', 'c', 'd', 'e'}
print(set)


Python3
s = {4, 5, 8, 6, 3, 2, 5}
key = 3
x = key in s  # containment check
y = key not in s  # non-containment check
print(x, y)


Python3
s1 = {'t', 3, 6, 5, 7, 8, 4, 9}
s2 = {5, 7, 8, 9, 't', 4, 3, 6}
  
# equivalent check
x = s1 == s2
  
# non-equivalent check
y = s1 != s2
print(x)
print(y)


Python3
s1 = {2, 5, 3, 7, 'c', 'a', 8}
s2 = {3, 7, 8, 'c'}
  
# subset check
w = s1 <= s2
  
# proper subset check
x = s1 < s2
  
# superset check
y = s1 >= s2
  
# proper superset check
z = s1 > s2
print(w, x, y, z)


Python3
s1 = {2, 5, 3, 7, 'c', 'a', 8}
s2 = {3, 7, 8, 'c', 9, 11, 'd'}
  
# union
w = s1 | s2
  
# intersection
x = s1 & s2
  
# elements which are in s1 but not in s2
# and elements which are in s2 but not in s1
y = s1 ^ s2
  
# set difference
z = s1-s2
print(w)
print(x)
print(y)
print(z)


Python3
# Example of Dictionary
d = {'jupiter': 'planet', 'sun': 'star'}
print(d)


Python3
dict = {'math': 45, 'english': 60, 'science': 65, 
        'computer science': 70}
  
# retrieving value by using key
x = dict['science']
print(x)
  
# reassigning value
dict['english'] = 80
print(dict)
  
# deleting
del dict['math']
print(dict)


Python3
dict = {'math': 45, 'english': 60, 'science': 65,
        'computer science': 70}
  
# containment check
x = 'english' in dict
  
# non-containment check
y = 'hindi' not in dict
print(x)
print(y)


Python3
d1 = {'a': 5, 'b': 7, 'c': 9, 'e': 3}
d2 = {'c': 9, 'a': 5, 'b': 7, 'e': 3}
  
x = d1 == d2
y = d1 != d2
  
print(x)
print(y)


输出:

{'c', 'b', 'd', 'e', 'a'}

         2. Frozensets:是集合的不可变形式,用于形成集合的集合。

Sets 和frozensets 支持以下运算符:

  • key in s:用于检查给定的键是否在集合中。
  • 不在s 中:如果键不在集合中,则返回 True。

例子:

蟒蛇3

s = {4, 5, 8, 6, 3, 2, 5}
key = 3
x = key in s  # containment check
y = key not in s  # non-containment check
print(x, y)

输出:

True False
  • s1 == s2 :检查 s1 等价于 s2。即 s1 的所有元素都在 s2 中,反之亦然。如果 s1 等于 s2,则返回 True。
  • s1 != s2 : s1 不等于 s2。即至少 s1 的一个元素不在 s2 中。如果 s1 不等于 s2,则返回 True。

例子:

蟒蛇3

s1 = {'t', 3, 6, 5, 7, 8, 4, 9}
s2 = {5, 7, 8, 9, 't', 4, 3, 6}
  
# equivalent check
x = s1 == s2
  
# non-equivalent check
y = s1 != s2
print(x)
print(y)

输出:

True
False

集合的比较不是字典式的,因为集合没有以正确的顺序排列它们的元素。因此,s1 不能大于或小于 s2,反之亦然,相反,它们可以是子集或超集。

  • s1 <= s2 : s1 是 s2 的子集。即 s1 的所有元素都在 s2 中,如果 s1 是 s2 的子集,则返回 True。
  • s1 < s2 : s1 是 s2 的真子集。即 s1 的所有元素都在 s2 中,但 s2 的所有元素不一定在 s1 中,如果 s1 是 s2 的真子集,则返回 True。
  • s1 >= s2 : s1 是 s2 的超集。即 s2 的所有元素都在 s1 中,如果 s1 是 s2 的超集,则返回 True。
  • s1 > s2 : s1 是 s2 的真超集。即 s2 的所有元素都在 s1 中,但 s1 的所有元素不一定在 s2 中,如果 s1 是 s2 的适当超集,则返回 True。

例子 :

蟒蛇3

s1 = {2, 5, 3, 7, 'c', 'a', 8}
s2 = {3, 7, 8, 'c'}
  
# subset check
w = s1 <= s2
  
# proper subset check
x = s1 < s2
  
# superset check
y = s1 >= s2
  
# proper superset check
z = s1 > s2
print(w, x, y, z)

输出:

False False True True
  • s1 | s2: s1 和 s2 的并集,不重复返回 s1 和 s2 的元素。
  • s1 & s2: s1 和 s2 的交集,返回存在于两个集合中的元素。
  • s1 - s2:集合差值,返回在 s1 中但不在 s2 中的元素。
  • s1 ˆ s2:恰好在 s1 或 s2 之一中的元素集合,返回在 s1 中但不在 s2 中的元素和在 s2 中但不在 s1 中的元素。

例子:

蟒蛇3

s1 = {2, 5, 3, 7, 'c', 'a', 8}
s2 = {3, 7, 8, 'c', 9, 11, 'd'}
  
# union
w = s1 | s2
  
# intersection
x = s1 & s2
  
# elements which are in s1 but not in s2
# and elements which are in s2 but not in s1
y = s1 ^ s2
  
# set difference
z = s1-s2
print(w)
print(x)
print(y)
print(z)

输出:

3.字典:它是不同键与其关联值的映射。我们也使用大括号 { } 来创建字典。

例子:

蟒蛇3

# Example of Dictionary
d = {'jupiter': 'planet', 'sun': 'star'}
print(d)

输出:

{'jupiter': 'planet', 'sun': 'star'}

字典支持以下运算符:

  • d[key]:用于从字典中获取与给定键关联的值。
  • d[key] = value :它用于设置(或重置)与字典中给定键关联的值。
  • del d[key]:用于从字典中删除键及其关联的值。

例子:

蟒蛇3

dict = {'math': 45, 'english': 60, 'science': 65, 
        'computer science': 70}
  
# retrieving value by using key
x = dict['science']
print(x)
  
# reassigning value
dict['english'] = 80
print(dict)
  
# deleting
del dict['math']
print(dict)

输出:

  • key in d:用于检查某个键是否在字典中。也称为遏制检查。它返回一个布尔值。
  • key not in d:它返回一个布尔值,如果键不在字典中,则返回 True,也称为非包含检查

例子:

蟒蛇3

dict = {'math': 45, 'english': 60, 'science': 65,
        'computer science': 70}
  
# containment check
x = 'english' in dict
  
# non-containment check
y = 'hindi' not in dict
print(x)
print(y)

输出:

True
True
  • d1 == d2:它比较两个字典的键值对,如果找到,则返回 True。
  • d1 != d2:比较两个字典的键值对,如果找到则返回True。

例子:

蟒蛇3

d1 = {'a': 5, 'b': 7, 'c': 9, 'e': 3}
d2 = {'c': 9, 'a': 5, 'b': 7, 'e': 3}
  
x = d1 == d2
y = d1 != d2
  
print(x)
print(y)

输出:

True
False

字典类似于集合。它们也没有任何按确定顺序排列的元素。

子集和超集的概念不适用于字典。因此,子集和超集运算符对其毫无意义。