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]