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 +