python数据类型扩展(二)

练习,不断地练习

天才有两种,一种是天生的,一种是努力的。

# 数据类型扩展

'''
1、通过列表推导式完成下面数据类型转换
现在有以下数据, li1 = ["{'a':11,'b':2}","[11,22,33,44]"] 

需要转换为以下格式: li1 = [{'a':11,'b':2},[11,22,33,44]] 
'''
print("第一题解答:")
li1 = ["{'a':11,'b':2}", "[11,22,33,44]"]
li1 = [eval(i) for i in li1]
print(li1)

# 2、使用列表推倒式生成一个[0,5,10,15,20,...50]的列表 
print("第二题解答:")
li2 = [i for i in range(0,55,5)]
print(li2)

# 3、使用列表推到式生成一个[page1,page2,page3....page10]的列表
print("第三题解答:")
li3 = ["page{}".format(i) for i in range(1, 11)]
print(li3)

'''
4、 Names=['python','java','php','c','c++','django','unittest','pytest','pymysql'],请通过列表推导式,获取names中字符串长度大于4的元素
    提示 :列表推导式可以结合三目运算符一起使用
'''
print("第四题解答:")
Names = ['python', 'java', 'php', 'c', 'c++', 'django', 'unittest', 'pytest', 'pymysql']
li4 = [i for i in Names if len(i) > 4]
print(li4)

'''
5、通过列表推导式和字典推导式完成下面数据转换
# 原来数据
str = """
url:www.baidu.com,mobilephone:13760246701,pwd:123456
url:www.baidu.com,mobilephone:15678934551,pwd:234555
url:www.baidu.com,mobilephone:15678934551,pwd:234555
url:www.baidu.com,mobilephone:15678934551,pwd:234555
url:www.baidu.com,mobilephone:15678934551,pwd:234555
"""
# 转换后数据
list = [{'url': 'www.baidu.com', 'mobilephone': '13760246701', 'pwd': '123456'},
        {'url': 'www.baidu.com', 'mobilephone': '15678934551', 'pwd': '234555'},
        {'url': 'www.baidu.com', 'mobilephone': '15678934551', 'pwd': '234555'},
        {'url': 'www.baidu.com', 'mobilephone': '15678934551', 'pwd': '234555'},
        {'url': 'www.baidu.com', 'mobilephone': '15678934551', 'pwd': '234555'}]
'''
print("第五题解答:")
str = '''
url:www.baidu.com,mobilephone:13760246701,pwd:123456
url:www.baidu.com,mobilephone:15678934551,pwd:234555
url:www.baidu.com,mobilephone:15678934551,pwd:234555
url:www.baidu.com,mobilephone:15678934551,pwd:234555
url:www.baidu.com,mobilephone:15678934551,pwd:234555
'''
list = [{j.split(":")[0]: j.split(":")[1] for j in i.split(",")} for i in str.split("\n") if bool(i)==1]
print(list)

猜你喜欢

转载自blog.csdn.net/weixin_43431593/article/details/106035925