第二天總結(jié)

字符操作

常用的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結(jié)尾
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把字符串所有字母轉(zhuǎn)換成大寫
  • lower把字符串所有字母轉(zhuǎn)換成小寫
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判斷字符串是否全是數(shù)字
isalnum判斷是否只有字母或者數(shù)字

  • 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數(shù)組很像,但是list可以存儲不同類型的數(shù)組
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('請輸入你要添加的內(nèi)容')
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:根據(jù)下標進行刪除
del name_list[0]
print(name_list)

pop:刪除最后一個元素

name_list.pop()
print(name_list)

remove:根據(jù)元素值進行刪除

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])

列表推導式

所謂列表推導式,就是指輕量級循環(huán)創(chuàng)建列表

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的數(shù)據(jù)
res=[]
for x in l:
    if x>=0:
        res.append(x)
print(res,'使用for循環(huán)篩選')
#在循環(huán)過程中使用if
res2=[x for x in l if x>=0 ]
print(res2,'使用列表解析篩選')

列表轉(zhuǎn)換成字符串

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中的偶數(shù)

number=[i for i in range(11)]
print(number)
res=[]
for x in number:
    if x%2==0:
        res.append(x)
print(res,'使用for循環(huán)篩選')

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

一個學校有三個辦公室,現(xiàn)在有8個老師等待工位的分配,編寫程序完成隨機分配

import  string
from  random import  randint
#定義3個辦公室
offices=[[],[],[]]
#定義8個老師
names=list(string.ascii_uppercase[:8])
print(names)
for name in names:
    #產(chǎn)生一個隨機數(shù)
    index=randint(0,2)
    offices[index].append(name)
print(offices)
i=1
for tempNames in offices:
    print('辦公室{}的人數(shù)為{}'.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用于將可迭代對象作為參數(shù),將對象中的對應的元素打包成一個元組,
然后返回這些元組對象 節(jié)約內(nèi)存

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':'北京'}

*訪問 根據(jù)鍵進行訪問

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 根據(jù)key刪除

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

*常用操作

print(len(info))  #key的個數(shù)
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)

字典解析

*創(chuàng)建一個班級的分數(shù)

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 函數(shù)名(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))
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,319評論 0 10
  • http://python.jobbole.com/85231/ 關于專業(yè)技能寫完項目接著寫寫一名3年工作經(jīng)驗的J...
    燕京博士閱讀 7,792評論 1 118
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,707評論 0 5
  • 1.1 列表的定義 List(列表) 是Python中使用最頻繁的數(shù)據(jù)類型,在其他語言中通常叫做數(shù)組 專門用于存儲...
    體面_5376閱讀 949評論 0 0
  • 2019.4.22. 星期一。 雨 今天下午,第2節(jié)突然下大雨,我一下子崩潰了,啊!我沒帶傘啊。 還好放學的...
    以沫0閱讀 128評論 0 3

友情鏈接更多精彩內(nèi)容