知识点
map函数
描述
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
语法
map() 函数语法:
map(function, iterable, ...)
参数
function:函数
iterable:一个或多个序列
返回值
python2中返回列表
python3中返回迭代器
zip函数
描述
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
语法
zip([iterable, …])
参数
iterabl – 一个或多个迭代器;
返回值
python2中返回列表
python3中返回迭代器
eval函数
reduce函数
字典的get和item方法
练习代码
functools import reduce
def N_sum(N):
"""
输入任意大的整数
输出各位数字之和
"""
return sum(map(int,N))
def set_opre(A, B):
"""
输入两个集合分别计算交集并集和差集
"""
setA = eval(A) # eval为字符串转列表元祖字典函数
setB = eval(B)
int_set = setA & setB
union_set = setA | setB
difference_set = setA - setB
return int_set, union_set, difference_set
def TranslateN(n):
"""
输出一个数的二进制 八进制和十六进制
"""
print("二进制:%s\n八进制:%s\n十六进制: %s\n" % (bin(n), oct(n), hex(n)))
def text4(lst):
"""
输出列表中的奇数
"""
return list(filter(lambda x: x % 2 == 1, lst))
def text5():
"""
将两个列表中的值一一对应成字典输出
"""
lstA = eval(input("请输入第一个列表"))
lstB = eval(input("请输入第二个列表"))
return dict(zip(lstA, lstB))
def text6():
"""
将输入的列表排序
"""
lst=eval(input("请输入列表:"))
print(sorted(lst))
print(sorted(lst, reverse=True))
def text7():
lst = eval(input("请输入整数列表"))
num1 = 1
for i in lst:
num1 = num1 * i
num2 = reduce(lambda x, y: x * y, lst)
print(num1,num2)
def text8():
"""
曼哈顿距离d(i,j)=|xi-xj|+|yi-yj|
"""
lstA = eval(input("请输入第一个坐标"))
lstB = eval(input("请输入第二个坐标"))
print(sum(map(lambda i,j: abs(i-j), lstA, lstB))) # 在python3中map返回的是迭代器
def text9():
"""
输入若干集合的列表,输出这些集合的并集
"""
lst_set = eval(input("请输入第一个坐标"))
print(reduce(lambda i, j: i | j, lst_set))
def text10():
"""
输入等比数列的首项、公比(不等于1且小于36的正整数)
和一个自然是n,输出这个等比数列的前n项和
"""
a1 = int(input("首项"))
q = int(input("公比"))
n = int(input("自然数"))
print(a1 * int("1"*n, q))
def text11():
"""
输入一个字符串,输出出现次数最多的字符及次数
"""
data = input("输入字符串")
d = dict()
for ch in data:
d[ch] = d.get(ch, 0) + 1
mostcommon = max(d.items(),key=lambda item: item[1])
print(mostcommon)
if __name__ == "__main__":
# num = input("please input a number")
# print(N_sum(num))
# A = input("A")
# B = input("B")
# a,b,c = set_opre(A, B)
# print("交集为:%s\n并集为:%s\n差集为:%s" %(a, b, c))
# TranslateN(10000)
# a=[1,2,3,4,5,6,7,9]
# print(Text4(a))
# print(text5())
text11()