字符串
字符串转换
#字符串到数字,float,long类似
int("100")
#将数字转换为字符串
str(100)
字符串长度
name="laowang"
len(str)#7
字符串输入、输出
name=input("输入名字:")
print("名字是:%s"%name)
字符串拼接
#直接相加
a="lao"
b="wang"
c=a+b
print(c)
#格式化的方式
d="%s"%(a+b);
print(d)
字符串的下标
name="shushu"
#正序
print(name[0])#s
#逆序
print(name[-1])#u
字符串的切片、倒序
str[n:m]:取n到m-1,m可以为负数
str[n:]从n取到最后
str[n:m:x]x为步长
name="shushu"
print(name[2:5])#ush
print(name[1:6:2])#hsu
倒序:
print(name[-1:0:-1])#uhsuh,取不到第一个
print(name[-1::-1])#uhsuhs
print(name[::-1])#uhsuhs
字符串常见操作
查找
name="shushu ashdjahsdj sdhjs"
print(name.find("hu"))#1,左到右,返回第一次找到的下标,未找到则是-1
print(name.rfind("hu"))#4,右到左,返回第一次找到的下标,未找到则是-1
索引
name="shushu ashdjahsdj sdhjs"
print(name.index("hu"))#1,未找到则报异常,rindex()
计数
name="shushu ashdjahsdj sdhjs"
print(name.count("hu"))#2
替换
name="shushu ashdjahsdj sdhjs"
print(name.replace("hu","aa"))#saasaa ashdjahsdj sdhjs,从左到右依次替换,但不改变原来的字符串,字符串不可变
print(name.replace("hu","aa",1))#saashu ashdjahsdj sdhjs,从左到右依次替换,只替换一次
分割
name="shushu ashdjahsdj sdhjs"
print(name.split(" "))#['shushu', 'ashdjahsdj', 'sdhjs']
print(name.split(" ")[1])#ashdjahsdj
print(name.partition("ash"))#('shushu ', 'ash', 'djashsdj sdhjs'),从左开始找到一个,则以它为中心分割成三组
print(name.rpartition("ash"))#('shushu ashdj', 'ash', 'sdj sdhjs'),从右开始
splitlines():按照换行符去分割
大小写转换
capitalize():把字符串的第一个字符大写
title():把字符串的每个单词首字母大写
lower() 所有大写转为小写
upper()所有小写转为大写
检测
isalpha():是否是字母
isdigit():是否是数字
isalnum():是否是字母或数字
开始结尾判断
startwith(" ")
endwith(" ")
判断,如果是的话返回True,否则返回False
居中,靠左,靠右
center(50):在50个长度中居中
ljust(50)
rjust(50)
去空格
lstrip():去掉左边空格
rstrip()
strip():两边都去掉
构造
str="-"
name=["aaa","bbb","ccc"]
print(str.join(name))#aaa-bbb-ccc
列表
names=["老王","老李","老刘"]#定义一个列表
Python中的列表可以存储不同的数据类型,而数组只能是相同的数据类型
操作
添加
names.append("老赵")#添加到列表最后
names.insert(2,"哈哈")#将它插入到2的位置上
合并
names2=["滑稽","束带","电脑"]
names3=names+names2#["老王","老李","老刘","滑稽","束带","电脑"]
names.append(names2)#将names2中的追加到names后面
append与extend的区别:
>>> a=[1,2,3,4,5]
>>> b=[6,7,8,9]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a=[1,2,3,4,5]
>>> a
[1, 2, 3, 4, 5]
>>> a.append(b)
>>> a
[1, 2, 3, 4, 5, [6, 7, 8, 9]]
>>>
删除
names.pop()#["老王","老李"]#删除最后一个
names.remove("老王")#从左到右只删除一个
del names[下标]#删除指定位置的
切片
names[2:3]#["老李"]和字符串类似
修改
names[0]="aaa"
查询
if "老李" in names:
print("存在")
if "老李" not in names:
print("不存在")
排序
sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
reverse方法是将list逆置。
>>> a = [1, 4, 2, 3]
>>> a
[1, 4, 2, 3]
>>> a.reverse()
>>> a
[3, 2, 4, 1]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> a.sort(reverse=True)
>>> a
[4, 3, 2, 1]
遍历
for
字典
>>> people={'name':'shushu','age':1234,'addr':'画的'}
>>> people['name']
'shushu'
>>>
操作
添加
存在key就修改原来的值,不存在则删除
info={'name':'shushu'}
info['QQ']=123445
查询
info['key']不存在就有异常
可以用info.get('key'),不存在不显示,存在则输出
删除
del info('key')删除某个元素
del info删除字典所有元素
info.clear()清空字典
长度
len(info)
元组
元组与列表类似,不过元组的元素不能修改、删除、添加。有count和index函数,使用方法与列表类似
元组只有一个元素的时候,要多加一个逗号(2,)