大家好,我需要在 python 中排序和编写排序函数的帮助。我正在尝试编写一个函数insert_in_order
,它需要一个字符串项列表和一个字符串项。我正在尝试这样做,假设项目已经按字母顺序排序,我必须将项目插入项目中的正确位置
还
关于我面临的同样问题,我还想纠正一个remove
接受列表项和字符串项的函数。此函数应删除 items 中第一次出现的item。此外,如果item在items中根本没有出现,该函数应该保持items不变。
编辑:
我原来的一组功能如下
def read_list(fname):
items = []
with open(fname, 'r') as fin:
for line in fin:
items = insert_in_order(items, line[:-1])
return items
def write_list(items, fname):
fout = open(fname, 'w')
for item in items:
fout.write(item + '\n')
fout.close()
而且我还有一个测试文件应该测试这些功能:
class TestLabThre(unittest.TestCase):
def test_read_list(self):
self.assertEqual(
read_list('lab06ReadTest.txt'),
['a', 'b', 'c', 'd', 'e'])
def test_write_list(self):
write_list(['a', 'b', 'c', 'd', 'e'], 'lab06WriteTest.txt')
in_file = open('lab06WriteTest.txt', 'r')
self.assertEqual(in_file.read(), 'a\nb\nc\nd\ne\n')
我的insert_in_order
和remove
函数应该被添加到函数中,这样当我运行我的测试时,它们就会通过。但我每次都得到一个“失败的测试”。
我真的很困惑,任何为我指明正确方向的帮助将不胜感激。