第二天总结

字符操作

常用的find replace split join strip

  • replace 替换字符
name='hello world haha'
new_name=name.replace('ha','Ha')
print(new_name)
new_name=name.replace('ha','Ha',1)
print(new_name)
price='¥599'
price=price.replace('¥',' ')
print(price)
  • split()
  • 以空格为分隔符分割name,如果maxsplit为指定值,则仅分割前指定值个
name='hello world ha ha'
name_list=name.split(" ")
print(name_list)
name_list1=name.split(" ",2)
print(name_list1)
  • capitalize把字符串第一个字符大写
my_str='hello world neuedu and neueducpp'
my_str2=my_str.capitalize()
print(my_str2)
  • title把每个单词首字母大写
my_str3=my_str.title()
print(my_str3)
  • startwith检测字符串是否以str开头
  • endwith检测字符串是否以str结尾
my_str4=my_str.startswith('hello')
print(my_str4)
my_str5=my_str.startswith('Hello')
print(my_str5)
my_str6=my_str.endswith('cpp')
print(my_str6)
  • upper把字符串所有字母转换成大写
  • lower把字符串所有字母转换成小写
my_str7=my_str.upper()
print(my_str7)
my_str8=my_str7.lower()
print(my_str8)
  • rjust返回一个原字符串右对齐的并用空格填充width长度的字符串
  • ljust返回一个原字符串左对齐的并用空格填充width长度的字符串
  • center返回一个原字符串中间对齐的并用空格填充width长度的字符串
my_str_space='hello'
new_my_str_space=my_str_space.rjust(10)
print(new_my_str_space)
new_my_str_space=my_str_space.ljust(10)
print(new_my_str_space)
print(len(new_my_str_space))
new_my_str_space=my_str_space.center(50)
print(new_my_str_space)
  • lstrip()清除字符串左边的空格
  • rstrip()清除字符串右边的空格
  • strip()清除字符串两边的空格
print(new_my_str_space)
new_my_str_space1=new_my_str_space.lstrip()
print(new_my_str_space1)
print(len(new_my_str_space1))
new_my_str_space2=new_my_str_space.rstrip()
print(new_my_str_space2)
print(len(new_my_str_space2))
new_my_str_space3=new_my_str_space.strip()
print(new_my_str_space3)
print(len(new_my_str_space3))
  • partition把mystr三部分,str前,str ,str后
print(my_str)
t_mystr=my_str.partition('neuedu')
print(t_mystr)

rpartition 从右开始

  • splitlines按照行分割,返回一个包含各行作为元素的列表
line='hello\nworld'
print(line)
list_line=line.splitlines()
print(list_line)
  • isalpha判断字符串是否全部都是字母 True
alpha=my_str.isalpha()
print(alpha)
alpha2='ddddd'
alpha3=alpha2.isalpha()
print(alpha3)

isdigit判断字符串是否全是数字
isalnum判断是否只有字母或者数字

  • join讲列表用字符串链接起来
str4=" "
list1=['my','name','is','songxiaobao']
my_name=str4.join(list1)
print(my_name)
my_name="_".join(list1)
print(my_name)

价值一个亿的AI核心代码

while True:
    print('AI说:'+input().strip('吗?')+'!' )

列表

  • C数组很像,但是list可以存储不同类型的数组
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

列表的相关操作

  • 1.添加操作
str=input('请输入你要添加的内容')
name_list.append(str)
print('添加后',name_list)

list1=[]
for i  in range(10):
    list1.append(i)
print(list1)

insert 在指定位置前插入元素object

a=[0,1,2]
a.insert(1,10)
print(a)

extend可以将另外一个集合主意添加到列表中

a=[1,2,3]
b=[3,4,5]
a.extend(b)
print(a)
  • 2.修改操作 update
name_list=['鲁班','xiaoming',1024]
name_list[1]='小明'
print(name_list)
  • 3.查找操作 in notin
find_name='小明'
if find_name in name_list:
    print('小明在列表中')
else:
    print('小明不在列表中')

index count

a=['a','b','c','a','b']
index1=a.index('a',1,4)  #左闭右开
print(index1)
counts=a.count('b')
print(counts)
  • 4.删除操作
    del:根据下标进行删除
del name_list[0]
print(name_list)

pop:删除最后一个元素

name_list.pop()
print(name_list)

remove:根据元素值进行删除

name_list.remove(1024)
print(name_list)

列表的排序

  • from modename import name1,name2
from random import  randint
num_list=[]
for _ in range(10):
    num_list.append(randint(1,20))
print(num_list)
  • 正序排序
num_list.sort()
print(num_list)
  • 倒序排序
num_list.sort(reverse=True)
print(num_list)
  • .sorted()
new_list=sorted(num_list)
print(num_list)
print(new_list)

.sort()对原来的列表修改排序 .sorted()返回新的列表,原来的没有改变
.sort()属于列表成员方法 .sorted()属于对所有可迭代对象进行操作

  • 字符串的常用操作
    print(dir(''))
    print(dir([]))

列表的嵌套

列表里面还有列表

school_name=[['qinghua','beida'],['nankai','tianda'],['dongqin','yanda']]
print(school_name)
print(school_name[0][1])

列表推导式

所谓列表推导式,就是指轻量级循环创建列表

list2=[i for i in range(10) ]
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(res,'使用for循环筛选')
#在循环过程中使用if
res2=[x for x in l if x>=0 ]
print(res2,'使用列表解析筛选')

列表转换成字符串

my_list=['Welcome','to','ML','World']
print(' '.join(my_list))

列表和字符串的*

str='hehe'*3
print(str)
list=['6',9,0,3.14]*5
print(list)

*筛选1-10中的偶数

number=[i for i in range(11)]
print(number)
res=[]
for x in number:
    if x%2==0:
        res.append(x)
print(res,'使用for循环筛选')

res2=[x for x in number if x%2==0 ]
print(res2,'使用列表解析筛选')

一个学校有三个办公室,现在有8个老师等待工位的分配,编写程序完成随机分配

import  string
from  random import  randint
#定义3个办公室
offices=[[],[],[]]
#定义8个老师
names=list(string.ascii_uppercase[:8])
print(names)
for name in names:
    #产生一个随机数
    index=randint(0,2)
    offices[index].append(name)
print(offices)
i=1
for tempNames in offices:
    print('办公室{}的人数为{}'.format(i,len(tempNames)))
    i+=1
    for name in tempNames:
        print('{}'.format(name),end=' ')
    print('\n'+'-'*30)

元组

a=('ddd',111,0.88)
#tuple
print(type(a))

序列: 列表/字符串/元组

*访问

print(a[0])

index count
a=('a','b','c','b''a')
index1=a.index('a')
print(index1)
count1=a.count('b')
print(count1)

*修改 不能修改 不能删除

b=(100,)*3
print(b)

*同时遍历两个列表
zip用于将可迭代对象作为参数,将对象中的对应的元素打包成一个元组,
然后返回这些元组对象 节约内存

a=[1,2,3]
b=[4,5,6]
c=[7,8,9,10,11]
zipped=zip(a,b)
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':7777777,'addr':'北京'}

*访问 根据键进行访问

print(type(info))
print(info['name'])
#访问不存在的键会报错

#get 当我们不确定字典中是否存在某个key,而且还要获得其value,可以使用get
mail=info.get('mail','[email protected]')
print(mail)
age=info.get('age',20)
print(age)

*修改

info['name']='马云'
print(info)

*添加

info['sex']='男'
print(info)

*删除 del 根据key删除

del info['name']
print(info)
#clear
info.clear()
print('chear后',info)

*常用操作

print(len(info))  #key的个数
keys=info.keys()   #所有的key
print(keys)
values=info.values()   #所有的value
print(values)
items=info.items()   #所有的key和value,组成元组
print(items)

*遍历字典

for key,value in info.items():
    print(key,'---->',value)

集合

*无序,元素唯一,一般用于元组或者列表元素去重

#定义一个集合
set1={1,2,5,4}
print(type(set))

*添加 add

set1.add(8)
print(set1)

*删除

#remove不存在会报错
set1.remove(1)
print(set1)
#pop 随机删除集合中的元素
set1.pop()
print(set1)
#.discard 如果存在就直接删除,不存在就不做任何操作
set1.discard(5)
print(set1)

字典解析

*创建一个班级的分数

from random import  randint
grades={'student{}'.format(i):randint(50,100) for i  in range(1,20)}
print(grades)

*筛选出高于90分的人

d={k:v for k,v in grades.items() if v>=90}
print(d)

*集合解析

from random import  randint
set1={randint(0,20) for _ in range(20)}
print(set1)
res={ x for x in set1 if x%3==0}
print(res)

def 函数名(num):

psss

def caculateNumber(num):
    """
    计算1到num的累加和
    :param num:累加和的末尾
    :return: 累加和
    """
    res=0
    for i in range(1,num+1):
        res+=i
    return res
    psss
print(caculateNumber(100))

你可能感兴趣的:(第二天总结)