Если вы не хотите использовать модуль random
, вы также можете попробовать popitem () :
>> d = {'a': 1, 'b': 5, 'c': 7}
>>> d.popitem()
('a', 1)
>>> d
{'c': 7, 'b': 5}
>>> d.popitem()
('c', 7)
Поскольку dict
не сохраняет порядок , используя popitem
, вы получаете элементы в произвольном (но не строго случайном) порядке от него.
Также имейте в виду, что popitem
Параметр value из словаря, как указано в docs .
popitem () полезен для деструктивного итерации по словарю
вы можете перехватить SIGINT следующим образом
trap "SIGINT" do
# this is called when you press control-c
# be very careful, you can't kill this program with control-c
end
Вы также можете увидеть Захват Ctrl-c в ruby для некоторых других способов взаимодействия с control-c