1.一个数组 my_list=range(10),我想获取如下几个数组,该如何切片?
[1,2,3,4,5,6,7,8,9] print(my_list[1:])
[1,2,3,4,5,6] print(my_list[1:7])
[3,4,5,6] print(my_list[3:7])
[9] print(my_list[9:]
[1,3,5,7,9] print(my_list[1:10:2])
[8,6,4,2] print(my_list[8:1:-2])
2.将字符串 “k:1|k1:2|k2:3|k3:4”转换成字典{“k”:1,”k1”:2,”k2”:3,”k3”:4},请写出代码。(代码题)
str1 = "k:1|k1:2|k2:3|k3:4"
list1 = str1.split("|")
dict1 = dict()
for i in list1:
list2 = i.split(":")
dict1.setdefault(list2[0], int(list2[1])) # 第一种添加方法
# dict1.setdefault(list2[0], eval(list2[1])) # 第一种添加方法
# dict1[list2[0]] = int(list2[1]) # 第二种添加方法
print(dict1)
3.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"]
# 第一种方法
str1 = ""
for i in my_list:
if type(i) is int:
str1 += str(i)
print(str1)
# 第二种方法
a,b,c,*aa,d,e,f = my_list
print(aa)
print("".join(str(i) for i in aa))
4.给定一串排好序的列表a=[1,2,3,4,5],设计一个函数,打乱这个列表(即每次输出列表元素的顺序要不一致)(代码题)
# 第一种方法
import random
def main():
a = [1, 2, 3, 4, 5]
for i in range(len(a)-1):
j = random.randint(0, len(a)-1-i)
a[i], a[i+j] = a[i+j], a[i]
print(a)
if __name__ == '__main__':
main()
# 第二种方法
import random
a=[1,2,3,4,5]
random.shuffle(a)
print(a)
5.给定一个列表a=[3,4,5,6,6,5,4,3,2,1,7,8,8,3],请设计一个函数,实现传入一个target=3,输出3这个元素在列表a中的索引,输出格式如下:[0,7,13]
a=[3,4,5,6,6,5,4,3,2,1,7,8,8,3]
# 第一种方法
def solution(target):
indix_list = list()
count = 0
for i in a:
if i == target:
indix_list.append(count)
count += 1
print(indix_list)
if __name__ == '__main__':
solution(target = 5)
# 第二种方法
def s(target):
ll = list()
for index,nums in enumerate(a):
# print(index,nums)
if nums == target:
ll.append(index)
print(ll)
if __name__ == '__main__':
s(3)