# pop!
移除集合中的元素并返回该元素。如果集合是有序容器,则返回最后一个元素;如果是无序容器,则返回任意一个元素。
# 语法
pop!(collection)
pop!(collection, key, [default])
pop!(q::Deque{T})
pop!(h::BinaryHeap)
pop!(sc, k, [default])
pop!(ss::SortedSet)
# 说明
pop!(collection) 移除集合中的一个元素并返回该元素。对于有序集合,返回最后一个元素;对于无序集合,返回任意一个元素。示例
pop!(collection, key, [default]) 移除并返回集合中键 key 对应的值。如果 key 不存在,则返回 default;若未提供 default 则抛出错误。示例
pop!(q::Deque{T}) 移除末尾的元素。
pop!(h::BinaryHeap) 移除并返回堆 h 中的顶部元素
pop!(sc, k, [default]) 删除 SortedDict 或 SortedSet 中键为 k 的项,并返回与 k 关联的值。如果 k 不在 sc 中,返回 default,如果没有指定 default,则抛出 KeyError。
pop!(ss::SortedSet) 删除 ss 中的第一个键,并返回该键。如果 ss 为空,则会导致 BoundsError。
# 示例
移除集合中的元素
创建数组 A,调用 pop! 移除最后一个元素。
A = [1, 2, 3];
pop!(A)
3
查看数组 A。
A
[1, 2]
创建集合 S,调用 pop! 移除其中一个元素。
S = Set([1, 2]);
pop!(S)
2
查看集合 S。
S
Set{Int64} with 1 element:
1
移除并返回指定键值
创建字典 d,移除键 "a" 对应的值。
d = Dict("a"=>1, "b"=>2, "c"=>3);
pop!(d, "a")
1
尝试移除不存在的键 "d",会抛出错误。
pop!(d, "d")
ERROR: KeyError: key "d" not found
移除不存在的键 "e",但提供默认值 4。
pop!(d, "e", 4)
4
# 输入参数
collection - 输入集合Array | Dict | Set | Deque | BinaryHeap | CircularBuffer | DataFrame
输入待移除元素的集合,可为数组、字典、集合、双端队列、二叉堆、循环缓冲区或数据帧。
key - 要移除的键数值 | 字符 | 字符串等
要在集合中移除的键,指定为数值、字符或字符串等。
default - 默认值Any
当键不存在时返回的默认值,指定为 Any,如标量、数组等。
q - 输入 DequeDeque{T}
要从末尾移除元素的双端队列(Deque)。
h - 输入 BinaryHeapBinaryHeap
要移除并返回顶部元素的二叉堆(BinaryHeap)。
sc - 输入有序关联容器SortedDict | SortedSet
输入的有序关联容器(SortedDict 或 SortedSet),用于按键删除并返回关联值。
k - 要删除的键Any
要在 sc 中删除的键。
ss - 输入 SortedSetSortedSet
要删除并返回第一个键的有序集合(SortedSet)。