📜  Python程序将元素插入排序列表

📅  最后修改于: 2022-05-13 01:54:30.792000             🧑  作者: Mango

Python程序将元素插入排序列表

给定一个排序列表和一个元素,编写一个Python程序将元素插入到给定列表中的排序位置。

例子:

Input : list = [1, 2, 4], n = 3
Output : list = [1, 2, 3, 4]

Input : list = ['a', 'b', 'c', 'd'], n = 'e'
Output : list = ['a', 'b', 'c', 'd', 'e']

方法#1:
这种方法是蛮力方法。由于列表已经排序,我们从一个循环开始并检查列表元素是否大于给定元素。如果是,则需要在此位置插入给定元素。

# Python3 program to insert
# an element into sorted list
  
# Function to insert element
  
  
def insert(list, n):
  
    index = len(list)
    # Searching for the position
    for i in range(len(list)):
      if list[i] > n:
        index = i
        break
  
    # Inserting n in the list
    if index == len(list):
      list = list[:index] + [n]
    else:
      list = list[:index] + [n] + list[index:]
    return list
  
# Driver function
list = [1, 2, 4]
n = 3
  
print(insert(list, n))
输出:
[1, 2, 3, 4]


方法#2:
Python带有一个bisect 模块,其目的是在列表中找到一个需要插入元素以保持列表排序的位置。因此我们使用这个模块来解决给定的问题。

# Python3 program to insert 
# an element into sorted list
import bisect 
  
def insert(list, n):
    bisect.insort(list, n) 
    return list
  
# Driver function
list = [1, 2, 4]
n = 3
  
print(insert(list, n))
输出:
[1, 2, 3, 4]