数据分析系列 之python中输入输出和函数编程
1 输入输出:
1.1 概述
输入函数input x=input([‘输入信息’]) 返回值为str
输出语句print(对象1,…对象n,seq=’ ‘,end=’\n’)
1.2 举例
如何输入获得两个字符串?(若输入abc def或者abc,def)
x,y = input('Input:').split()
#换行符读不到
x,y = input('Input:').split(' ')
#逗号分隔
x,y = input('Input:').split(',')
如何输入获得两个整数?
x,y = eval(input("Input: "))
输入获得一个元素均为数值型的列表?
lst = list(eval(input('Input: ')))
Input:12,3.4,789
输入:lst
输出:[12,3.4,789]
lst = eval(input('Input: '))
Input:[12,3.4,789]
输入:lst
输出:[12,3.4,789]
如何将循环输出的所有数据放在同一行输出?
for i in range(1,5):
print(i,end=' ')
如何通过列表解析的方法把字符串转成数值类型?
lst = input('Input: ').split(',')
Input:12,3.4,789
输入:lst
输出:['12','3.4','789']
输入:[eval(item) for item in lst]
输出:[12,3.4,789]
2 函数式编程:
2.1 概述
函数式编程主要由3个基本函数和1个算子构成
基本函数有:
map()
reduce()
filter()
算子:
lambda
lst = [3,2,5,8,9]
list(map(lambda x:x*2,lst))
输出:[6,4,10,16,18]
lst = [3,2,5,8,9]
list(filter(lambda x:x%2==0,lst))
输出:[2,8]
from functools import reduce
lst = [3,2,5,8,9]
#递归计算
reduce(lambda x,y:x+y,lst)
输出:27
#通过map函数把小写字母转成大写字母
lst = ['abc','def']
list(map(lambda word:word.upper(),lst))
输出:['ABC','DEF']
list(map(upper,lst))
输出:error
参考资料:
https://www.icourse163.org/learn/NJU-1001571005?tid=1463102441&from=study#/learn/content?type=detail&id=1240380170&cid=1261816396&replay=true 用python玩转数据