Python面试题——列表,元组,字典【第二篇】

106 阅读1分钟

第三题: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)