python练习题5

这篇博客涵盖了Python编程的一些基础练习,包括使用字典和列表推导式转换数据,遍历各种数据结构,实现无限生成器,枚举迭代,递归斐波那契数列,处理字典排序,应用map和reduce函数,以及二进制、八进制和十六进制转换。此外,还涉及了自定义my_range生成器的实现。
摘要由CSDN通过智能技术生成

1、利用字典推导式和列表推导式完成数据的相互转化:

dic = {'name': 'Owen', 'age': 18, 'gender': '男'}
ls = [('name', 'Owen'), ('age', 18), ('gender', '男')]

list_to_dic = {i: dic[i] for i in dic}
# print(list_to_dic)
dic_to_list = [i for i in dic.items()]
# print(dic_to_list)

2、写出for迭代器迭代字符串、列表、元组、集合、字典(三种情况)的代码实现

a = 'asdfg'
b = ['a', 'b', 'e']
c = {'a', 'b', 'e'}


def iter_for(target):
    target = target.__iter__()
    while True:
        try:
            yield target.__next__()
        except Exception:
            break


# for i in iter_for(c):
#     print(i)

3、用生成器实现可以无限取值的生成器对象,第一次取值得到1,第二次取值得到3,第三次取值得到6,第四次取值得到10,依次类推

def infinite_get():
    current = 0
    n = 1
    while True:
        current +
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值