python测试题04-08

  • 1.一个数组 my_list=range(10),我想获取如下几个数组,该如何切片?

    [1,2,3,4,5,6,7,8,9]  	my_list = [1:10:1]
    [1,2,3,4,5,6]			my_list[1:7:1]
    [3,4,5,6]				my_list[3:7:1]
    [9]						my_list[9:10:1]	
    [1,3,5,7,9]				my_list[1:10:2]
    [8,6,4,2]				my_list[8:0:-2]
    
    
  • 2.将字符串 “k:1|k1:2|k2:3|k3:4”转换成字典{“k”:1,”k1”:2,”k2”:3,”k3”:4},请写出代码。(代码题)

    str="k:1|k1:2|k2:3|k3:4"
    sta= str.split("|")
    dic1={}
    for i in sta:
        dic1[i.split(":")[0]]=eval(i.split(":")[1]) 
    print(dic1)
    
    
  • 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:
          try:
              if i.isalnum():
                  pass
          except:
              str1 += str(i)
      print(str1)
      
      
    • 法二

      my_list = ["a", "a", "a", 1, 2, 3, 4, 5, "A", "B", "C"]
      a,b,c,*aa,d,e,f =my_list
      str1=str()
      for i in aa:
          str1 += str(i)
      print(str1)
      
      
  • 4.给定一串排好序的列表a=[1,2,3,4,5],设计一个函数,打乱这个列表(即每次输出列表元素的顺序要不一致)(代码题)

    • 法一

      	import random
      	def daluan(a):
      	    random.shuffle(a)
      	    print(a)
      	a =[1,2,34,5,6,7]
      	daluan(a)
      	
      	```
      
    • 法二

      import random
      def daluan(a):
          for j in range(0, 6):
              i = random.randint(0, 4)
              a[i],a[i+1] = a[i+1],a[i]
          print(a)
      a = [1,2,34,5,6,7]
      daluan(a)
      
      
  • 5.给定一个列表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):
          a =[3, 4, 5, 6, 6, 5, 4, 3, 2, 1, 7, 8, 8, 3]
          li_index = list()
          count = 0
          for i in a:
              if i == target:
                  li_index.append(count)
              count += 1
          print(li_index)
      solution(3)
      
      
    • 法二

      ```
      def solution(target):
          a =[3, 4, 5, 6, 6, 5, 4, 3, 2, 1, 7, 8, 8, 3]
          my_list = list()
          for index,nums in enumerate(a):
              if nums == target:
                  my_list.append(index)
          print(my_list)
      solution(3)
      
      ```
      
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值