概述
之前一直在用MATLAB,现在想逐渐过渡到Python,基本上算是从零开始,这里会分次写一些Python语法笔记,以Leetcode 上的一些简单练习题为例,留待以后查询。这些笔记可能只对初学者有所帮助,对Python3已经有所了解的同学请直接略过。
宝石与石头
J = "aA"
S = "aAAbbbb"
a = 0
for i in range(len(J)):
a = a+S.count(J[i])
return a
- for循环
for i in range(0,10):
- if判断
if s[i] == J[i] :
.count()用法 ,用于统计字符串里某个字符出现的次数。
与MATLAB主要区别在于,写循环或者判断语句时,Python多了冒号且不需要end,通过缩进对齐来表示单元。此外,Python和C语言一样,默认计数都是从0开始的,比如
J = 'aA', len(A) = 2
,但是for循环中i = [0,1]
转换成小写字母
str = 'Hello'
str1 = ''
for i in range(len(str)) :
x = i
if (64<ord(str[x])<90) :
a = ord(str[x]) + 32
str1 += chr(a)
else:
str1 += str[x]
return str1
''
和""
在Python中不区分ord()
将字符转化为ASCII码数字,chr()
将数字按照码表转化为字符字符串的加减不是数字意义上的加减,是拼接或者删除子字符串的意思
在MATLAB中很少处理字符串,感觉Python真的很方便,字符串相关函数有很多
翻转图像
A = [[1,1,0],[1,0,1],[0,0,0]]
for i in range(len(A)):
A[i] = A[i][::-1]
b = A[i].copy()
#将A按元素翻转,在不同地址下复制A的一个元素
for j in range(len(A)):
b[j] = 1 - int(b[j])
#对复制的b按位取反,这时只改变b而不改变A
A[i] = b
return A
A[1][0:-1] = [1 1]
,表示将A的第一行从头输出到倒数第一个之前,反转字符串A[1][::-1]
b = a.copy()
,浅层copy,把a地址的值复制到b对应的另一个地址,如果直接说b = a
,这时a和b是对应同一地址的,以后会互相影响复制这一块,Python和我较为熟悉的C、MATLAB都很不一样,如果不特别强调就不会分配另外的内存用于复制。a和b共用地址时,一个改变另一个跟着改变,连最基本的交换数值都实现不了。
后面还做了一些题,不会的时候觉得很有意义,会了回头看又感觉好像也没什么,就不一一列举,值得留意的语法有:
- 十进制转二进制
a = bin(a)
- 反转字符串中的单词
t = ' '.join(s.split( )[::-1])[::-1]
split()
通过指定分隔符对字符串进行切片,这里指定的是空格str.join()
用于将序列中的元素以指定的字符str连接,生成一个新的字符串。
最后
以上就是忧郁乌冬面为你收集整理的从MATLAB到Python3 (1)的全部内容,希望文章能够帮你解决从MATLAB到Python3 (1)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复