python精品面试题_04--数据存储、random.shuffle 随机打乱排序及内置函数enumerate的应用

1.将字符串 “k:1|k1:2|k2:3|k3:4”转换成字典{“k”:1,”k1”:2,”k2”:3,”k3”:4},请写出代码。(代码题)

s1 = "k:1|k1:2|k2:3|k3:4"
d1 = dict()

l1 = s1.split("|")
print(l1)
for i in l1:
    l2 = i.split(":")
    d1[l2[0]] = int(l2[1])

print(d1)

2.my_list = [“a”,“a”,“a”,1,2,3,4,5,“A”,“B”,“C”]提取出”12345” 。(代码题)

方法一:

my_list = ["a","a","a",1,2,3,4,5,"A","B","C"]
j = ""

a,b,c,*arge,d,e,f=my_list
print(arge)

for i in arge:
    j += str(i)

print(j)

方法二:

my_list = ["a","a","a",1,2,3,4,5,"A","B","C"]
l1 = []
j = ""
for i in my_list:
    if i == 1 or i == 2 or i == 3 or i == 4 or i == 5 :
        l1.append(i)
for i in l1:
    j += str(i)

print(j)

3.给定一串排好序的列表a=[1,2,3,4,5],设计一个函数,打乱这个列表(即每次输出列表元素的顺序要不一致)。(代码题)
方法一:random.shuffle 随机打乱排序的应用

import random

def sort():
    a = [1,2,3,4,5]
    random.shuffle(a)
    print(a)

if __name__ == '__main__':
    sort()

方法二:

import random

a = [1,2,3,4,5]
b = []
def sort():
    for i in range(len(a)):
        x = random.randint(0,len(a)-1)
        m = a.pop(x)
        b.append(m)
    print(b)

if __name__ == '__main__':
    sort()

4.给定一个列表a=[3,4,5,6,6,5,4,3,2,1,7,8,8,3],请设计一个函数,实现传入一个target=3,输出3这个元素在列表a中的索引,输出格式如下:[0,7,13]

def solution(target):
#补充剩下的代码
方法一:内置函数enumerate 标号的应用

a = [3,4,5,6,6,5,4,3,2,1,7,8,8,3]
b = []
def solution(target):
    for index,nums in enumerate(a):
        if nums == target:
            b.append(index)
    print(b)

if __name__ == '__main__':
    solution(3)

方法二:

a = [3,4,5,6,6,5,4,3,2,1,7,8,8,3]
b = []
def solution(target):
    m = 0
    for i in a:
        if i ==target:
            b.append(m)
        m += 1
    print(b)


if __name__ == '__main__':
    solution(3)

猜你喜欢

转载自blog.csdn.net/weixin_44850984/article/details/89105587