字符串
- replace() 替换指定字符串
name = 'hello work haha'
new_name = name.replace('ha','Ha',1)
print(new_name)
price = '¥'
price.replace('¥','')
print(price)
- split() 以str为分隔符分割name,如果maxsplit指定值,那么仅分割maxsplit个字符串
name = 'hello work ha ha'
name_list = name.split(" ")
print(name_list)
name_list1 = name.split(" " , 2)
print(name_list1)
- capitalize() 把字符串单词首字母大写
name1 = name.capitalize()
print(name1)
- title() 把字符串每个单词首字母大写
name2 = name.title()
print(name2)
- startwith() 检测字符串是否以str开头
name3 = name.startswith('hello')
print(name3)
name4 = name.startswith('Hello')
print(name4)
- endswith() 检测字符串是否以str结尾
name5 = name.endswith('cpp')
print(name5)
- upper() 把字符串的所有变为大写
name6 = name.upper()
print(name6)
- lower() 把字符串的所有变为小写
name7 = name6.lower()
print(name7)
- ljust() 返回一个字符串的左对齐,并用空格填充width的长度
my_str_space = 'hello'
new_my_str_space = my_str_space.ljust(10)
print(new_my_str_space)
- rjust() 返回一个字符串的右对齐,并用空格填充width的长度
my_str_space = 'hello'
new_my_str_space = my_str_space.rjust(10)
print(new_my_str_space)
- center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格
my_str_space = 'hellollggg'
my_str_space1 = my_str_space.center(50)
print(my_str_space1)
print(len(my_str_space1))
- lstrip() 去除左空格
print(my_str_space1)
print(len(my_str_space1))
new_str_space = my_str_space1.lstrip()
print(new_str_space)
- rstrip() 去除右空格
new_str = new_str_space.rstrip()
print(len(new_str))
print(new_str)
- strip() 删除两端空格
- find()---->rfind() 返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1
index = my_str_space.rfind('neuedu')
print(index)
- index()---->rindex() 返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常
- partition() 从左把my_str_space以str分割成3部分,str前、str、str后
print(my_str_space)
t_mystr = my_str_space.partition('ll')
print(t_mystr)#元组
- rpartition() 从右开始把my_str_space以str分割成3部分,str前、str、str后
- splitlines() 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
line = 'hello\nworld'
print(line)
list_line = line.splitlines()
print(list_line)
- isalpha() 判断字符串是否都是字母
alpha = my_str_space.isalpha()
print(alpha)
alpha2 = 'dddddd'
alpha3 = alpha2.isalpha()
print(alpha3)
- isdigit ()判断字符串是否都是数字
- isalnum() 判断是否只有字母或者数字
alpha2.isalnum()
- isspace() 判断是否只有空格
- join() 将列表中的元素以前缀连接,转化为字符串
str4 = " "
list1 = ['my','name','is','skowsd']
my_name = str4.join(list1)
print(my_name)
my_name = '_'.join(list1)
print(my_name)
- 字符串的常用操作
print(dir(''))
print(dir([]))
列表
相似于数组,但可以存储不同类型的数据,可变长。
name_list = ['鲁班','xiaoming',1024]
print(name_list)
print(type(name_list))
- 访问 按下标访问
print(name_list[0])
- 遍历
for name in name_list:
print(name)
i = 0
while i < len(name_list):
print(name_list[i])
i += 1
列表相关操作
- 添加操作
print('添加前',name_list)
str = input('请输入您要添加的内容')
name_list.append(str)
print(name_list)
print('添加后',name_list)
list1 = []
for i in range(10):
list1.append(i)
print(list1)
- insert() 在指定位置index前插入元素object
a = [0,1,2]
a.insert(1,10)
print(a)
- extend() 可以将另一集合逐一添加到列表中
a = [1,2]
b = [3,4]
a.append(b)
print(a)
a.extend(b)
print(a)
- 修改 按下标直接修改
name_list[1] = '小明'
print(name_list)
- 查找 in not in
find_name = '小明'
if find_name not in name_list:
print('小明在列表中')
else:
print('不在')
- index() 从列表中找出某个值第一个匹配项的索引位置
a = ['a','b','c','a','b']
index1 = a.index('a',1,4)# 左闭右开
print(index1)
- count()统计某个元素在列表中出现的次数
counts = a.count('b')
print(counts)
- 删除
- del:根据下标进行删除
print(name_list)
del name_list[0]
print(name_list)
- pop:删除最后一个元素
name_list.pop()
print(name_list)
- remove:根据元素的值进行删除
name_list.remove('xiaoming')
print(name_list)
- 列表的排序
from modename import name1, name2
from random import randint
num = randint(-10,10)
print(num)
num_list = []
for _ in range(10):
num_list.append(randint(-10,10))
print(num_list)
num_list.sort()
print('正序',num_list)
num_list.sort(reverse=True)
print('逆序',num_list)
new_list = sorted(num_list)
print(num_list)
print(new_list)
区别
.sort() 对原来的列表进行修改排序 .sorted() 返回新的对原来的没有改变
.sort() 属于列表的成员函数 .sorted() 对所有可迭代对象进行操作
ls.sort(key reverse) sorted(ls)
- 列表的嵌套 列表里面还有列表
school_name = [['清华','北大'],['南开','天大'],['东秦','燕山']]
print(school_name)
print(school_name[0][1])
print(school_name[0,1])
- 列表推导式 轻量级循环创建列表
list1 = []
for _ in range(10):
list1.append('不给我看你发到是')
print(list1)
from random import randint
list2 = [i for i in range(2 , 15 , 2)]
print(list2)
list3 = ['发过来快就是你发到刚' for _ in range(5)]
print(list3)
- 生成10个元素,范围在【-10,10】
from random import randint
l = [randint(-10,10) for _ in range(10)]
print(l)
- 选出大于等于0的区域
res = []
for x in l:
if x >= 0:
res.append(x)
print('使用for循环筛选:',res)
- 循环的过程中使用if
res2 = [x for x in l if x >= 0]
print('使用列表解析筛选:',res2)
- 列表转化成字符串
my_list = ['Welcom','to','ML','World']
my_list_to_str = str(my_list)
print(my_list_to_str)
print(' '.join(my_list))
- 列表和字符串的 *
str1 = 'hehe'*3
print(str1)
list4 = ['6',9,0,3.14]*5
print(list4)
number = [i for i in range(11)]
print(number)
list5 = []
for x in number:
if x%2 == 0:
list5.append(x)
print(list5)
list6 = [x for x in number if x%2 ==0]
print(list6)
元组
a = ('ddd',111,0.88)
#tuple
print(type(a))
#序列: 列表、字符串、元组
#访问 按下标访问
print(a[0])
#元组元素不能修改、删除
- index() count() 参照列表
a = ('a','b','c','b','a')
index1 = a.index('a')
cnt = a.count('b')
print(cnt)
- 单元素元组后有逗号
b = (100,)*3
print(b)
print(type(b))
- 同时遍历两个列表
- zip() 用于将 可迭代对象作为参数,将对象中的对应元素打包成一个元组,然后返回这些元组对象,以节约内存
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b)
print(zipped)
print(list(zipped))
- 长度不一致,与最短的对象相同
zipped1 = zip(a,c)
print(list(zipped1))
heros = ['后羿','安琪拉']
skills = ['惩戒之箭','烤串']
for hero,skill in zip(heros,skills):
print(hero,'----->',skill)
字典 key ---> value
info = {'name':'刘强东','age':45,'id':'32435345345345','addr':'北京'}
#访问 根据键进行访问
print(type(info))
print(info['name'])
#访问不存在的键会报错
print(info['sex'])
- 当我们不确定字典中是否存在某个键,而且还要获取其value,可以使用get()
age = info.get('age',89)
print(age)
mail = info.get('mail','111121@jingdong.com')
print(mail)
- 修改
info['name'] = '马云'
print(info)
- 添加
info['sex'] = '男性'
print('添加后',info)
- 删除操作
- del根据key删除
del info['name']
print('删除后',info)
del info
print('删除后',info)
info.clear()
print('clear后',info)
- 字典的常用操作
- key - value 的个数
info = {'name':'刘强东','age':45,'id':'32435345345345','addr':'北京'}
print(len(info))
- 获取info的key和value
keys = info.keys()
values = info.values()
print(keys)
print(values)
- items() 以列表返回可遍历的(键, 值) 元组数组
item = info.items()
print(item)
- 使用for循环进行遍历
for key,value in info.items():
print(key,'---->',value)
集合
#无序的 元素唯一
#用于元组和列表中的元素去重
#定义一个集合
# set1 = set(str)
set1 = {1,2,3,45,4}
print(type(set1))
- 添加
set1.add(8)
print(set1)
- 删除 删除没有的元素会报错
set1.remove(2)
print(set1)
- pop 随机删除集合中的元素 集合为空则报错
set1.pop()
print(set1)
- discard 存在直接删除,不存在则不做任何操作
set1.discard(2)
print(set1)
- 字典解析
#创建班级的分数
from random import randint
grades = {'student{}'.format(i):randint(50,100) for i in range(1,21)}
print(grades)
#筛选出高于90分的人
d = { key:value for key,value in grades.items() if value>=90}
print(d)
- 集合解析
set1 = {randint(0,20) for _ in range(0,20)}
print(set1)
#找到被3整除的
res = {x for x in set1 if x%3 == 0}
print(res)
函数
# def 函数名(形参):
# pass
# 函数名(实参)
def caculateNumble(num):
"""
计算1——num间的累加和
:param num: 累加和的末尾
:return: 累加和
"""
res = 0
for i in range(1,num+1):
res += i
return res
res = caculateNumble(100)
print(res)