python列表生成式、键盘输入及类型转换、字符串翻转、字母大小写、数组广播、循环语句等基础问题
Python知识总结
1、列表生成式
在实际开发过程中,当需要获取一个连续列表时,可直接使用range(3,10)
,但是如果获取该列表中每个数据的平方时,通常可以通过for循环来解决这个问题,如下面的方法一。由于python中存在内置函数,使用循环过于繁琐,python中的列表生成式可以一句语句代替循环生成的list。
def cal(a):
return a**2+3
#方法一(循环):
lst=[]
for i in range(10):
lst.append(cal(i)) #方法二(列表生成式):
lst=[cal(i) for i in range(10)]
在使用列表生成式时,可以进行条件筛选,例如 [i for i in range(10) if i%2==0] ,通过这种方式来筛选列表中的偶数。
也可以进行双重循环,例如 [i*j for i in range(1,5) for j in range(6,9)] 。通过该循环获取数据乘积的列表。
2、键盘输入数据转换
python通过键盘输入数据,数据类型为字符串类型, a=input() ,当需要输入多个数据时,可通过空格等字符进行区分, b=a.split() ,如果是通过其余字符进行区分的,在split()
中插入指定字符。也可以通过 a.split('',1) 来控制分解次数。
当需要输入的为整型时,可以使用map()函数
进行数据类型的转换。map()
会根据提供的函数对指定序列做映射。 c=list(map(int,input().split())) 得到一个整型的列表,map
会将输入切分之后的每个数据进行int
类型的转换。
也可以对列表进行自动解包,例如,当输入的数据切分之后为三个值时,将分解之后的每个值分别赋予a、b、c, a,b,c=list(map(int,input().split())) 。
3、英文字母
(1)Python中 swapcase() 方法用于对字符串的大小写字母进行转换。 str1.swapcase() 。
(2)Python中获取所有大小写字母。
(3)判断是否为字母通过 a.isalpha() ,输出的结果为一个Ture或False。
import string
str1='adW7djk25RES'
#大小写字母相互转换 print(str1.swapcase())
#小写字母
lower=string.ascii_lowercase
#大写字母
upper=string.ascii_uppercase
print(lower,upper)
#字母的判断并获取非字母数量
print(sum([not a.isalpha() for a in str1]))
4、数组的使用
广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。
import numpy as np
array = np.random.rand(10)#随机生成一个数组
print(array)
#广播,5与一维数组中的每个元素相加
print(array+5)
#两个一维数组相加,对应位置相加
array1 = np.array([1,2,3,4])
array2 = np.array([5,6,7,8])
arraysum = array1 + array2
print(arraysum)
#两个不同维度的进行相加
a = np.array([[ 0, 0, 0],[10,10,10],[20,20,20],[30,30,30]])
b = np.array([1,2,3]) print(a + b)
输出结果如下:
numpy的相关计算
import numpy as np lst=range(1,5)
lst_mean=np.mean(lst)#均值
lst_var=np.var(lst)#方差
lst_std=np.std(lst)#标准差
lst_prod=np.prod(lst)#连乘积
lst_cumsum=np.cumsum(lst)#累积和
lst_cumprod=np.cumprod(lst)#累积积
5、if…else的使用
"pass" if score>60 else "fail" #相当于下面多行语句
if score>60:
print("pass")
else:
print("fail")
6、math()
fabs() 方法返回数字的绝对值,fabs()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。
import math
print(math.fabs(-45))
7、True、False
True在计算中相当于1,False在计算中相当于0。3+True=4,可直接用于计算。
8、字符串翻转
(1)给定一个字符串,然后将其翻转,逆序输出。
(2)使用 reversed()
,然后使用 join()
方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
s='ABCDabcd'
u=s[::-1]
print(u)
t=''.join(reversed(s))
print(t)
9、循环语句
for 实例中使用了 break 语句,break 语句用于跳出当前循环体。对于不满足循环条件的,可以通过else进行其他条件操作。
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
if site == "Runoob":
print("啦啦啦!")
break
print("循环数据 " + site)
else:
print("没有循环数据!")
在 while … else 在条件语句为 false 时执行 else 的语句块:
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
python列表生成式、键盘输入及类型转换、字符串翻转、字母大小写、数组广播、循环语句等基础问题的更多相关文章
- Python列表、元组、字典和字符串的常用函数
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...
- Python列表生成式(入门9)
转载请标明出处: http://www.cnblogs.com/why168888/p/6407984.html 本文出自:[Edwin博客园] Python列表生成式 1. 生成列表 L = [] ...
- Python 列表生成式 & 字典生成式
Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...
- 【转】Python 列表生成式
原文:https://blog.csdn.net/heartyhu/article/details/50988007 1. 生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, ...
- python 列表生成式、lower()和upper()的使用
参考: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868196389 ...
- [转载] Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...
- Python 列表生成式、生成器、迭代器
列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么 ...
- python列表生成式
在Python编程中,list列表应用的比较广泛,而列表生成式是一个非常强大但是使用很简单的功能. 比如要生成1到100的数组列表[1,2,3,4......,97,98,99,100],可以使用li ...
随机推荐
- circus 进程以及socket 管理工具&&docker运行
circus 是由mozilla 团队开发基于python 以及zeromq 的进程以及socket 管理的工具,类似supervisord 但是比supervisord 更灵活方便 来自官方的使用比 ...
- 【字符串】后缀数组SA
后缀数组 概念 实际上就是将一个字符串的所有后缀按照字典序排序 得到了两个数组 \(sa[i]\) 和 \(rk[i]\),其中 \(sa[i]\) 表示排名为 i 的后缀,\(rk[i]\) 表示后 ...
- 洛谷P1076 寻宝
寻宝 模拟加优化,细节比较重要. 我们用ti[i]表示i这一层有楼梯的个数,然后我们把当前1号点的数据mod上ti[i],然后使该数不能等于0,就行了. #include <bits/stdc+ ...
- 数据结构实验之排序四:寻找大富翁(SDUT 3401)
#include <stdio.h> #include <stdlib.h> #include <string.h> void Swap(int a[], int ...
- python 安装离线库
(起因:报错找不到一个module,百度也找不到这个module,机智如我找宁博翻墙看怎么解决,毕竟是歪果仁的代码嘛,果真就在git找到了这个module哈哈哈哈机智如我!) 方法: 进入命令行窗口, ...
- ubuntu之路——day11.7 end-to-end deep learning
在传统的数据处理系统或学习系统中,有一些工作需要多个步骤进行,但是端到端的学习就是用一个神经网络来代替中间所有的过程. 举个例子,在语音识别中: X(Audio)----------MFCC----- ...
- 剑指offer:两个链表的第一个公共结点
题目描述: 输入两个链表,找出它们的第一个公共结点. 解题思路: 这道题一开始的题意不太理解,这里的公共结点,实际上指结点指相同,在题目不存在结点值相同的不同结点. 1. 最直接的思路是对链表一的每个 ...
- vs2015 编译obs studio 遇到的几个错误
1. >D:\project\vs\obs\ObsProject\obs-studio\plugins\win-wasapi\win-wasapi.cpp(245): error C2065: ...
- VS2013下开发VC++程序,编译时提示错误error MSB8020: The build tools for v140 (Platform Toolset = 'v140') 的解决方案
1. 问题描述: 提示如下错误:error MSB8020: The builds tools for v140 (Platform Toolset = 'v140') cannot be found ...
- 微信小程序上传单张或多张图片
-- chooseImage: function () { let that = this; let worksImgs = that.data.worksImgs; let len = that.d ...