Pythonのセットは非線形の順序付けられていないデータ構造で、明示的なインデックスがなくても、セットからすべての要素または任意の要素を取得できます。
セットから任意の要素を取得する
セットから任意のアイテムを取得するには、セットをリストに変換してから、そのセットを呼び出すのが簡単な解決策です。以下にそのコードを示します。
if __name__ == '__main__':
s = {1, 2, 3, 4, 5}
x = list(s).pop()
print(x) # 5
しかし、このアプローチの問題は、新しいリストが作成されることです。これは、セットから単一の要素を取得する場合には不要であり、大きなセットの場合は非常にコストがかかります。効率的なオプションは、イテレータオブジェクトを作成し、を使用してイテレータから最初のアイテムを取得することです next() 関数。
if __name__ == '__main__':
s = {1, 2, 3, 4, 5}
x = next(iter(s))
print(x) # 1
セットからすべての要素を取得する
セットからすべての要素を取得するには、単純なforループを使用できます。
if __name__ == '__main__':
s = {1, 2, 3, 4, 5}
for x in s:
print(x)
'''
Output:
1
2
3
4
5
'''
別のアプローチは、イテレータオブジェクトを作成し、それを使用してそこからアイテムを取得することです next() 関数。
if __name__ == '__main__':
s = {1, 2, 3, 4, 5}
it = iter(s)
while True:
try:
x = next(it)
except StopIteration:
break
else:
print(x, end=' ') # 1 2 3 4 5
以上がPythonのセットから要素を取得する方法です。これらのテクニックを使えば、Pythonのセットをより効率的に操作できます。