Python学习笔记

第一章 列表

列表元素可以修改而字符串是不可修改的对象。

1、如果直接输出列表,会输出:

a=['a','b','c','d']
print(a)
#在交互模式下,a[0]会打印出'a',而print(a[0])打印出a。

['a','b','c','d']

2、返回列表的倒数几个元素:
print(a[-1])
表示输出列表的最后一个元素。a[-2]表示倒数第二个元素。

3、列表元素的编辑:
(1)在末尾添加元素
a.append('e')
(2)在任意位置插入元素
a.insert(0,'fff')
表示将0号元素替换为‘fff',其余元素均向后移动一位。
(3)删除已知位置的元素
del a[0]
但是使用此法将不能再次访问该元素。
(4)删除元素并继续使用它
b=a.pop()
此时的a为删除了最后一个元素的列表。
如果要调用已被删除的最后一个元素,该元素即为b。
a.pop(0)表示删除列表中第一个元素,其他依次。
(5)如果不知道欲删除元素在列表中的位置,使用remove。
a.remove('fff')
但是remove只删除列表中第一个发现的值,多的就要用到循环。remove掉的元素也可以再次调用。

4、列表的排序
(1)从小到大或从大到小(单词也可以根据首字母排序)
a.sort() #从小到大排序
a.sort(reverse=True) #从大到小排序;这两种排序都是永久的。
print(sorted(a)) #此时原来的列表不变,只是输出时按顺序。也可以逆序。
(2)倒着打印列表
a.reverse()
print(a)
(3)len(a)表示列表中元素个数。

5、for循环&range()函数
(1)for循环对每一个临时变量的名称是随意的,但是为了方便一般用for i in is。
注意冒号。
(2)range()函数
for i in range(1,n)表示从1到n-1的数。
(3)创建数字列表
numbers=list(range(1,6))
将创建一个1,2,3,4,5的数组。
也可以指定步长:
numbers=list(range(2,11,2))
将打印2,4,6,8,10。
创建空列表时直接a=[]即可。
可以对数字列表进行统计计算。
a=[1,2,3,4,5]
min(a)
max(a)
sum(a)

6、使用列表的一部分
print(a[m:n])表示打印a[m]到a[n-1]之间的元素。打印的结果仍是列表。
若没有指定m将从头开始打印;没有指定n将一直打印到末尾。
同时省略m和n可以复制列表,比如b=a[:]。如果直接b=a则是将a的地址赋给b,不能分别对两列表进行操作。对一个的操作同时也操作了另一个。
这叫做列表的切片。

第二章 字符串
1、字符串连接
line=''
line=''.join(a)  #a是一个列表,表示将列表中的元素从前到后依次连接为字符串
line=''.join(a[::-1])  #表示逆序连接,但是列表中每个元素不变,不会逆序
b=a[::-1]表示b是a的翻转
2、字符串截取
s='ilovepython'
print(s[1:5])  #love;包括第一个数的元素,不包括第二个数的
print(s[:3])  #ilo
print(s[:-1])  #除了最后一个元素之外的所有
print(s[:]) #打印整个字符串
3、字符串替换
b=a.replace('word','world')
如果写a.replace(……,……),a的内容是不变的。
4、字符串比较
cmp比较两字符串,cmp(x,y)若x<y返回-1,否则返回1。
5、查找子串
line='abca'
print line.find('a')#返回0,只找第一个数
print line.find('a',1)#从下标1开始找,返回3
#若找不到返回-1
#index与find类似,但是找不到时异常而非返回-1
6、大小写转换
s.upper()#所有字母大写
s.lower()#所有字母小写
s.title()#首字母大写
s.isupper()#是否全是大写
7、去空格
s.strip()#去掉两边空格
s.lstrip()#左
s.rstrip()#右
8、其他
s.count(substr,[start,[end]])#计算substr出现次数
s.swapcase()#大小写互换
9、转义
(1)既包括“又包括‘的时候使用
'I\'m \"OK\"!'  #I'm "OK"!
字符‘\'本身也要转义。
r''表示''内部的部分不转义。(两单括号之间的部分)
'''……'''可以分多行输入。


第三章 其他
1、数制转换
python中除了整型之外的都用字符串表示。
(1)使用int()将任意进制转化为十进制
int('1111',2)
#15
(2)chr()将整型转化为对应的ASCII码字符
chr(90)
#'Z'
(3)ord()将字符转化为整型。对于中文也适用。
(4)hex(),oct(),bin()分别将十进制转化为16、8、2进制。但是转化后的是字符串,而且最前面两个字符分别是0x、0o、0b。要输出时可以使用切片输出第三个字符及其之后的内容。
2、二分查找排序:优点是比较快
需要import bisect
m=bisect.bisect_left(a,i)+1
要先排序,然后返回的m是从左开始i该插在第几个的“几”。a是一个列表,如果i等于列表中的某个元素,因为是从左边开始找的,将返回这个元素左的序号。也可以从右边开始找,改成bisect.bisect_right( , )即可。
3、关于输出
print()函数可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出。逗号的部分输出时会变为空格。
格式化输出:
print('%s has %d.'%('Mary',3.98))
#Mary has 3.98.
#s,d,f分别表示字符串,整数,浮点数。
保留小数:
print('%.2f'%r)
#表示保留r的两位小数
print('%.2f%%'%r)
#表示输出r%。


4、关于输入
name = input('please enter your name: ')
然后会先出现这句话,接下来可以进行输入。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值