Python 程序,把元素插入已排序的列表


在本文中,我们将探讨如下问题陈述的解决方案。

问题陈述 − 给定一个列表,我们需要在不改变排序顺序的情况下向其中插入一个元素

有两种方法,如下所述−

方法 1:蛮力方法

示例

 演示

def insert(list_, n):
   # search
   for i in range(len(list_)):
      if list_[i] > n:
         index = i
         break
   # Insertion
   list_ = list_[:i] + [n] + list_[i:]
   return list_
# Driver function
list_ = ['t','u','t','o','r']
n = 'e'
print(insert(list_, n))

输出

['e', 't', 'u', 't', 'o', 'r']

方法 2:使用 bisect 模块

示例

 演示

#built-in bisect module
import bisect
def insert(list_, n):
   bisect.insort(list_, n)
   return list_
list_ = ['t','u','t','o','r']
n = 'e'
print(insert(list_, n))

输出

['e', 't', 'u', 't', 'o', 'r']

所有变量都在局部范围内声明,上图中可以看到它们的引用。

结论

在本文中,我们了解了如何向已排序的列表中插入元素。

更新日期: 24-Dec-2019

1K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始
广告