第二天总结

字符操作

常用的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<len(name_list):
    print(name_list[i])
    i+=1

列表的相关操作

  • 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','169@jd.com')
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))
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,737评论 0 10
  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,562评论 1 118
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,380评论 0 5
  • 1.1 列表的定义 List(列表) 是Python中使用最频繁的数据类型,在其他语言中通常叫做数组 专门用于存储...
    体面_5376阅读 856评论 0 0
  • 2019.4.22. 星期一。 雨 今天下午,第2节突然下大雨,我一下子崩溃了,啊!我没带伞啊。 还好放学的...
    以沫0阅读 115评论 0 3