1.整理今天内容
PASS
2.现有列表alist = [3,1,-4,2,-6] 按照元素的绝对值大小进行排序
alist = [3,1,-4,2,-6]
sorted(alist,key=lambda x:abs(x))
3.已知ip='192.168.156.254'提取各部分并写入列表中
ip='192.168.156.254'
alist=ip.split('.')
4.在以上题基础上实现写一个函数,完成功能,然后将列表返回
ip='192.168.156.254'
def ip2list(ip):
return ip.split('.')
print(ip2list(ip))
5.输入某年某月某日,判断是这一年中的第几天?(用内置模块实现)
import time
day = input('输入某年某月某日:').strip()
ti = time.mktime(time.strptime(day,'%Y%m%d'))
print(f'这是一年中的第{time.localtime(ti)[-2]}天')
6.一行代码实现[1,4,9,16,25,36,49,64,81,100]
[ x**2 for x in range(1,11) ]
7.从0-99这个100个数中随机取出10个不重复的数
import random
random.sample(range(100),k=10)
8.一行代码,通过filter和lambda函数输出以下列表索引为奇数对应的元素
lis = [12,13,14,151,5,16,17,117,133,144,177]
list(filter(lambda x:lis.index(x)%2!=0,lis))
9.将下列数据转成想要的结果,尽量用简洁的方式实现:
原数据lst =[[1,2,3],[4,5,6],[7,8,9]]
lis = list()
[ lis.extend(i) for i in lst]
print(lis)
===================================
转换后 li = [1,2,3,4,5,6,7,8,9]
10.实现一个装饰器,通过调用一次装饰器使被装饰的函数调用5次
def Wrapper(func_name):
def Inner(*args,**kwargs):
for i in range(5):
ret = func_name(*args,**kwargs)
return Inner
@Wrapper
def func(*args,**kwargs):
print(args)
11.将列表内的元素,根据位数被合并成字典(升级题)
lst =[1,2,3,4,12,13,14,123,124,125,1234,1235,1236,1237,12345,12346,12347]
#变成
dic = {
1:[1,2,3,4],
2:[12,13,14],
3:[123,124,125],
4:[1234,1235,1236,1237],
5:[12345,12346,12347]}
from collections import defaultdict
dic = defaultdict(list)
for i in lst:
dic[len(str(i))].append(str(i))
print(dict(dic))
12.输入一个不是空的字符串,判断这个字符串是不是由一个子字符重复多次组成,字符只包含小写字母,且长度不超过1000
(升级题)
示例一:
输入:"abab"
这种就输出True,因为输入的是ab重复组成的字符串
示例二:
输入:"abcabcabc"
这种就输出True,因为输入的是abc重复组成的字符串
示例三:
输入:"abcdabcd"
这种就输出True,因为输入的是abcd重复组成的字符串
示例四:
输入:'abc"
这种就输出False,因为输入的没有重复组成字符串
s = input('输入你的字符串>>>').strip()
first_sort = s.find(s[0],1)
sub_string = s[0:first_sort]
sub_len = len(sub_string) #4
def SubCheck(Str,sub_len,n,):
if n == len(Str):
print(f'子串为{sub_string},循环{sub_len}次')
print('True')
return 'True'
elif Str[:sub_len] != Str[n:n+sub_len]:
print('False')
return False
#print(n,sub_len)
return SubCheck(Str,sub_len,n + sub_len)
SubCheck(s,sub_len,0)