第三题:1.列表和元组的连接方式
2.这些方式有什么区别
面试题1:连接两个列表的方式有哪些
面试题2:这些连接方式有什么区别
面试题1:
a = [1,5,7,9,6]
b = [2,3,3,6,8]
(1)元组也一样
print(a + b)
(2)元组不可
a.extend(b)
print(a)
面试题2:
差异:
1.+ 不改变参与连接的列表的值,但extend方法可以改变a列表的值
2.+ 两侧要么都是元组,要么都是列表。但是列表的extedn方法可以将一个元组添加到列表
第四题:1.手工打乱列表元素的顺序
2.随机排列API
面试题1:编写一个函数(不要使用python模块的函数),打乱列表元素的顺序
面试题2:如何对列表元素进行随机排列
面试题1: (1)
a = [1,2,3,4,5,6,7,8,9,0]
import random
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)
(2)
def random_list2(a):
a_copy = a.copy()
result = []
count = len(a)
for i in range(0,count):
index = random.randint(o, 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)
面试题2:
import random
a = [1,2,3,4,5,6,7,8,9,0]
random.shuffle(a)
print(a)