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模块的函数),打乱列表元素的顺序/如何对列表元素进行随机排列的主要内容,如果未能解决你的问题,请参考以下文章

Python面试必考重点之列表,元组和字典第八关——详细描述列表与元组的区别,并举例说明

Python面试必考重点之列表,元组和字典第七关——如何将两个列表或元组合并成一个字典

Python面试必考重点之列表,元组和字典第一关——如何定义集合/集合与列表有什么区别/如何去掉列表(元组)中重复的元素

Python面试必考重点之列表,元组和字典第十六关——python字典与json字符串如何互转

Python面试必考重点之列表,元组和字典第三关——连接两个列表的方式有哪些/这些连接方式有什么区别

Python面试必考重点之列表,元组和字典第十关——如果列表元素是对象,对这样的列表排序以及倒序排列的方法