Python面试必考重点之列表,元组和字典第四关——编写一个函数(不要使用python模块的函数),打乱列表元素的顺序/如何对列表元素进行随机排列

Posted 孤寒者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python面试必考重点之列表,元组和字典第四关——编写一个函数(不要使用python模块的函数),打乱列表元素的顺序/如何对列表元素进行随机排列相关的知识,希望对你有一定的参考价值。

面试题第四关:

第一部分——考点:

  1. 手工打乱列表元素的顺序
    2. 随机排列API

第二部分——面试题:

1.面试题一:编写一个函数(不要使用python模块的函数),打乱列表元素的顺序

2.面试题二:如何对列表元素进行随机排列


第三部分——解析:

面试题一 之 编写一个函数(不要使用python模块的函数),打乱列表元素的顺序

第一种方法:

import random
a = [1,2,3,4,5,6,7,8,9,0]

def random_list(a):
	for i in range(0,100):
		index1 = random.randint(0,len(a) - 1)  #这个方法是闭区间,包含两头
		index2 = random.randint(0,len(a) - 1)
		a[index1],a[index2] = a[index2],a[index1]
b = random_list(a)
print(b)

第二种方法:

def random_list2(a):
	a_copy = a.copy()
	result = []
	count = len(a)
	for i in range(0,count):
		index = random.randint(0, len(a_copy) - 1)
		result.append(a_copy[index])
		del a_copy[index]
	return result
a = [1,2,3,4,5,6,7,8,9,0]
b = random_list2(a)
print(b)

面试题二 之 如何对列表元素进行随机排列

import random
a = [1,2,3,4,5,6,7,8,9,0]
random.shuffle(a)
print(a)

以上是关于Python面试必考重点之列表,元组和字典第四关——编写一个函数(不要使用python模块的函数),打乱列表元素的顺序/如何对列表元素进行随机排列的主要内容,如果未能解决你的问题,请参考以下文章