New submission from Rowan Sylvester-Bradley <ro...@sylvesterbradley.org>:
This issue is probably related to issue ??? but I have created it as a separate issue. When shuffle doesn't crash it sometimes (or maybe always - I haven't fully analysed this yet) looses most of the elements in the list that it is supposed to be shuffling. Here is an extract of the code that I'm using: import io from io import StringIO from lxml import etree import random filename_xml = 'MockExam5.xml' with io.open(filename_xml, mode="r", encoding="utf-8") as xml_file: xml_to_check = xml_file.read() doc = etree.parse(StringIO(xml_to_check)) exams = doc.getroot() questions_element = exams.find("questions") logmsg(L_TRACE, "There are now " + str(len(questions_element.findall("question"))) + " questions") logmsg(L_TRACE, "Randomising order of questions in this exam") random.shuffle(questions_element) logmsg(L_TRACE, "Finished randomise") logmsg(L_TRACE, "There are now " + str(len(questions_element.findall("question"))) + " questions") And here is the log produced by this code: 21-03-24 18:10:11.989 line: 2057 file: D:\XPS_8700 Extended Files\Users\RowanB\Documents\My_Scripts NEW\mockexam\put_exam.py 2 There are now 79 questions 21-03-24 18:10:11.991 line: 2065 file: D:\XPS_8700 Extended Files\Users\RowanB\Documents\My_Scripts NEW\mockexam\put_exam.py 2 Randomising order of questions in this exam 21-03-24 18:10:11.992 line: 2067 file: D:\XPS_8700 Extended Files\Users\RowanB\Documents\My_Scripts NEW\mockexam\put_exam.py 2 Finished randomise 21-03-24 18:10:11.993 line: 2068 file: D:\XPS_8700 Extended Files\Users\RowanB\Documents\My_Scripts NEW\mockexam\put_exam.py 2 There are now 6 questions How come the shuffle starts off with 79 elements, and finishes with 6? Thanks - Rowan ---------- messages: 389482 nosy: rowan.bradley priority: normal severity: normal status: open title: random.shuffle loses most of the elements type: behavior versions: Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue43618> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com