在 Python 中从 Set 中获取元素
Get an element from a Set in Python
从 a 获取一个元素set
:
- 使用
for
循环遍历set
. - 将元素分配给变量。
- 使用
break
语句退出循环。
主程序
my_set = {'bobby', 'hadz', '.', 'com'} # ✅ Get an element from a set (for loop with break) for element in my_set: print(element) # 👉️ 'hadz' break # -------------------------------- # ✅ Get an element from a set (next() function) element = next(iter(my_set), None) print(element) # 👉️ 'bobby' # -------------------------------- # ✅ Get an element from a set (conversion to list) my_list = list(my_set) print(my_list[0]) # 👉️ 'hadz' print(my_list[1]) # 👉️ 'com'
第一个示例使用for
循环从set
.
Set 对象是唯一元素的无序集合,因此无法保证您将获得哪个元素(除非您
set
只包含一个元素)。for
循环遍历set
once 并将元素分配给变量。
主程序
my_set = {'bobby', 'hadz', '.', 'com'} for element in my_set: print(element) # 👉️ 'hadz' break
最后一步是使用break
语句退出循环。
break
语句跳出最内层的封闭或
for
循环while
。
或者,您可以使用该next()
功能。
使用 next() 从 Set 中获取一个元素
- 使用
iter()
函数从set
. - 使用
next()
函数从迭代器中获取元素。 set
如果为空,请指定默认值。
主程序
my_set = {'bobby', 'hadz', '.', 'com'} element = next(iter(my_set), None) print(element) # 👉️ 'bobby'
我们使用iter()
函数从set
.
next()函数从提供的迭代器返回下一个项目。
该函数可以传递一个默认值作为第二个参数。
如果迭代器耗尽或为空,则返回默认值。
如果迭代器耗尽或为空且未提供默认值,则会引发异常。
StopIteration
我们使用None
默认值,但您可以使用适合您的用例的任何其他值。
主程序
my_set = set() element = next(iter(my_set), None) print(element) # 👉️ None
为set
空,因此None
返回默认值。
或者,您可以使用list()
该类。
使用 list() 从 Set 中获取元素
从 a 获取一个元素set
:
- 使用
list()
该类将 转换set
为列表。 - 在索引处访问列表以获取元素。
主程序
my_set = {'bobby', 'hadz', '.', 'com'} my_list = list(my_set) print(my_list) # 👉️ ['com', 'hadz', 'bobby', '.'] print(my_list[0]) # 👉️ 'hadz' print(my_list[1]) # 👉️ 'com'
列表类接受一个可迭代对象并返回一个列表对象。
我们可以访问特定索引处的列表以检索元素。
Python 索引是从零开始的,因此列表中的第一项的索引为,最后一项的索引为或。
0
-1
len(my_list) - 1
由于set
对象是无序的,因此无法知道列表的顺序。
或者,您可以使用该set.pop()
方法。
使用 set.pop() 从 Set 中获取元素
使用该set.pop()
方法从set
. 该set.pop()
方法将从set
对象中删除并返回任意元素。
主程序
my_set = {'bobby', 'hadz', '.', 'com'} element = my_set.pop() print(element) # 👉️ bobby print(my_set) # 👉️ {'.', 'com', 'hadz'}
set.pop方法
从set
.
如果为空,该方法将引发KeyError
异常。set
如果您需要处理KeyError
异常,请使用try/except
语句。
主程序
my_set = set() try: element = my_set.pop() print(element) print(my_set) except KeyError: # 👇️ this runs print('The set object is empty')
该set
对象为空,因此该set.pop()
方法引发KeyError
异常,然后由该except
块处理。
仅set.pop()
当您需要从 中检索和移除元素时才使用该方法set
。