鴿了這么久終于來補(bǔ)上了锹安。叫榕。熄赡。
依舊是字符串的基操
1.replace:替代
將$599 替換成#599的方法
price = "$599"
price = price.replace('$','# ')
print(price)
replace里有三個(gè)參數(shù)(原字符玩裙,替換成的字符兼贸,替換的數(shù)量)
2.split:分離分割符
name = 'hello world haha'
name_list =name.split(" ")
print(name_list)
['hello', 'world', 'haha']
直接將句子按單詞分離了
name_list1 = name.split(" ",1)
print(name_list1)
['hello', 'world haha']
這個(gè)1是指定分割的最大個(gè)數(shù)字符串,所以這里只分割出了一個(gè)單詞
3.capitalize:首字母大寫
my_str = 'hello world neuq'
my_str2 = my_str.capitalize()#首字母大寫
print(my_str2)#Hello world neuq
4.title:標(biāo)題格式
my_str3 = my_str.title()#每個(gè)單詞的首字母大寫吃溅,相當(dāng)于標(biāo)題格式
print(my_str3)#Hello World Neuq
5.startswith:判斷是否以xx為開頭
my_str4 = my_str.startswith('hello')#是否以“hello”作為開頭
print(my_str4)#True
my_str5 = my_str.startswith('Hello')
print(my_str5)#False
6.endswith:判斷是否以xx為結(jié)尾
my_str6 = my_str.endswith('neuq')#是否以“neuq”結(jié)尾
print(my_str6)#True
7.upper:把字符串的所有字母變?yōu)榇髮?/h1>
my_str7 = my_str.upper()
print(my_str7)#HELLO WORLD NEUQ
8.lower:把字符串的所有字母變?yōu)樾?/h1>
my_str8 = my_str7.lower()
print(my_str8)#hello world neuq
9.rjust:返回一個(gè)原字符串右對(duì)齊并用空格填充
my_str_space = 'hello'
new_my_str_space = my_str_space.rjust(10)#用10個(gè)空格填充溶诞,原字符在空格右邊(右對(duì)齊)
print(new_my_str_space)# hello
10.ljust:返回一個(gè)原字符串左對(duì)齊并用空格填充
new_my_str_space2 = my_str_space.ljust(10)
print(new_my_str_space2)#hello
11.center()
new_my_str_space3 = my_str_space.center(20)
print(new_my_str_space3)# hello
12.lstrip/rstrip:清除字符串左邊/右邊的空格
new_my_str_space4 = new_my_str_space3.lstrip()
print(new_my_str_space4)#hello
13.strip():清除兩端的空白字符
new_my_str_space6 = new_my_str_space3.strip()
print(new_my_str_space6)#hello
14.find---->rfind:從左往右查找字符串的位置
index = my_str.rfind('neuq')
print(index)#12
15.partition: 把mystr以str分割成三部份 str前,str决侈,str后
print(my_str)
t_mystr = my_str.partition('neuq')
print(t_mystr)#('hello world ', 'neuq', '')注意neuq后面還有一個(gè)空字符串
16.splitlines :按照行分割螺垢,返回一個(gè)包含各行作為元素的列表
line = 'hello\nworld'
print(line)#hello\world
line_line = line.splitlines()
print(line_line)#['hello', 'world']
17.isalpha :判斷字符串是否都是字母
alpha =my_str.isalpha()
print(alpha)#False(有空格)
my_str7 = my_str.upper()
print(my_str7)#HELLO WORLD NEUQ
my_str8 = my_str7.lower()
print(my_str8)#hello world neuq
9.rjust:返回一個(gè)原字符串右對(duì)齊并用空格填充
my_str_space = 'hello'
new_my_str_space = my_str_space.rjust(10)#用10個(gè)空格填充溶诞,原字符在空格右邊(右對(duì)齊)
print(new_my_str_space)# hello
10.ljust:返回一個(gè)原字符串左對(duì)齊并用空格填充
new_my_str_space2 = my_str_space.ljust(10)
print(new_my_str_space2)#hello
11.center()
new_my_str_space3 = my_str_space.center(20)
print(new_my_str_space3)# hello
12.lstrip/rstrip:清除字符串左邊/右邊的空格
new_my_str_space4 = new_my_str_space3.lstrip()
print(new_my_str_space4)#hello
13.strip():清除兩端的空白字符
new_my_str_space6 = new_my_str_space3.strip()
print(new_my_str_space6)#hello
14.find---->rfind:從左往右查找字符串的位置
index = my_str.rfind('neuq')
print(index)#12
15.partition: 把mystr以str分割成三部份 str前,str决侈,str后
print(my_str)
t_mystr = my_str.partition('neuq')
print(t_mystr)#('hello world ', 'neuq', '')注意neuq后面還有一個(gè)空字符串
16.splitlines :按照行分割螺垢,返回一個(gè)包含各行作為元素的列表
line = 'hello\nworld'
print(line)#hello\world
line_line = line.splitlines()
print(line_line)#['hello', 'world']
17.isalpha :判斷字符串是否都是字母
alpha =my_str.isalpha()
print(alpha)#False(有空格)
注意這里說的是“都是”,有空格都是不行的
isdigit:判斷字符串是否都是數(shù)字
isalnum 判斷是否只有字母或數(shù)字
18.join
str1 = " "#用空格將這幾個(gè)字符串連起來
list1 = ['my','name','is','lubanqihao']
my_name = str1.join(list1)
print(my_name)#my name is lubanqihao
my_name2 = ",".join(list1)
print(my_name2)#my,name,is,lubanqihao
這里可以看到直接用“赖歌,”.join就可以直接連接
某價(jià)值一億(枉圃?)的一行代碼
while True:
print('AI說: '+input().strip('嗎?')+'!')
在嗎庐冯?
AI說: 在!
你是sb嗎孽亲?
AI說: 你是sb!
用replace也可以寫
while Ture:
print(input(' ').replace('嗎',' ').replace('?','!'))
也就是用空格代替“嗎”展父,用感嘆號(hào)代替問號(hào)
下面是列表的知識(shí)
1.列表 list可以存儲(chǔ)不同類型的數(shù)據(jù)
name_list = ['魯班','xiaoming',2019]
print(name_list)#['魯班', 'xiaoming', 2019]
print(type(name_list))#<class 'list'>
2.訪問
print(name_list[0])#魯班
3.遍歷
for name in name_list:
print(name)
#魯班
#xiaoming
#2019
i=0
while i < len(name_list):
print(name_list[i])
i+=1#魯班
#xiaoming
#2019
上面這種遍歷方法很好用返劲,可以將列表中的每個(gè)元素遍歷
i=0
while i < len(list):
print(list[i])
i+=1
4.添加:append
str = input('請(qǐng)輸入您要添加的內(nèi)容')
name_list.append(str)
print(name_list)#諸葛亮
['魯班', 'xiaoming', 2019, '諸葛亮']
向一個(gè)空集合添加0-9的十個(gè)數(shù)
list1 = []
for i in range(10):
list1.append(i)
print(list1)#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
5.insert 在指定位置index前插入 元素object
a =[0,1,2]
a.insert(1,10)
print(a)#[0, 10, 1, 2]
6.extend:可以將另外一個(gè)集合添加到列表中
a =[1,2]
b =[3,4]
a.append(b)
print(a)#[1, 2, [3, 4]]
a.extend(b)
print(a)#[1, 2, [3, 4], 3, 4]
7.update:修改
name_list[1] = '小明'
print(name_list)#['魯班', '小明', 2019]將字符xiaoming改成了小明
8.查找 in notin
find_name = '小明'
if find_name in name_list:
print('小明在列表中')#小明在列表中
else:
print('不在')
9.index count
a = ['a','b','c','a','b']
index1 =a.index('c')
print(index1)#2(代表c出現(xiàn)的位置)
counts = a.count('b')
print(counts)#2
10.刪除
del :根據(jù)下標(biāo)進(jìn)行刪除
pop :刪除最后一個(gè)元素
remove 根據(jù)元素的值進(jìn)行刪除
del name_list[0]
print('刪除后',name_list)#刪除后 ['小明', 2019](把魯班刪除了)
name_list.pop()
print('刪除后',name_list)#刪除后 ['小明']
11.列表的排序
from modename import name1,name2
from random import randint#加入隨機(jī)數(shù)指令
num = randint(-10,10)
print(num)#-2
num_list = []
for _ in range(10):
num_list.append(randint(1,20))
print(num_list)
num_list.sort()
print('正序排序',)
12.列表轉(zhuǎn)換成字符串
my_list = ['welcome','to','ML','world']
my_list_to_str = str(my_list)
print(my_list_to_str)#['welcome', 'to', 'ML', 'world']
print(' '.join(my_list))#welcome to ML world
13.列表和字符串的*(相乘)
str1 = 'hehe'*3
print(str1)#hehehehehehe
list4 = ['6',9,0,3]*5
print(list4)#['6', 9, 0, 3, '6', 9, 0, 3, '6', 9, 0, 3, '6', 9, 0, 3, '6', 9, 0# , 3]
篩選出偶數(shù)的辦法
number = [i for i in range(11)]
print(number)
for x in number:
if x%2==0:
print(x)
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
0
2
4
6
8
10
列表小訓(xùn)練
一個(gè)學(xué)校有三個(gè)辦公室,有8個(gè)老師等待分配
import string
from random import randint
定義三個(gè)辦公室
offices = [[],[],[]]
定義8位老師
names =list(string.ascii_uppercase[:8])
names = list(names)
print(names)
產(chǎn)生一個(gè)隨機(jī)數(shù)0~2
for name in names:
index = randint(0,2)
offices[index].append(name)
print(offices)
i=0
for tempnames in offices:
print('辦公室{}的人數(shù)為{}'.format(i,len(tempnames)))
i += 1
for name in tempnames:
print('{}'.format(name),end='')
print('-'*30)
運(yùn)行結(jié)果
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
[['A', 'C', 'F', 'G'], [], ['B', 'D', 'E', 'H']]
辦公室0的人數(shù)為4
A------------------------------
C------------------------------
F------------------------------
G------------------------------
辦公室1的人數(shù)為0
辦公室2的人數(shù)為4
B------------------------------
D------------------------------
E------------------------------
H------------------------------
同時(shí)遍歷兩個(gè)列表
zip()
用于將可迭代對(duì)象作為參數(shù)栖茉,將對(duì)象中的對(duì)應(yīng)的元素打包成一個(gè)元組篮绿,
然后返回這些元組對(duì)象,節(jié)約內(nèi)存
a =[1,2,3]
b =[4,5,6]
c =[4,5,6,7,8]
zipped = zip(a,b)
print(list(zipped))#[(1, 4), (2, 5), (3, 6)]
zipped1 = zip(a,c)
print(list(zipped1))#[(1, 4), (2, 5), (3, 6)]
長度不一致時(shí)以最短的對(duì)象相同吕漂,所以這個(gè)地方省略了7和8
定義兩個(gè)列表
heros = ['后羿','安其拉']
skill = ['懲戒','閃現(xiàn)']
for hero ,skill in zip(heros,skill):
print(hero,'----->',skill)
#后羿 -----> 懲戒
#安其拉 -----> 閃現(xiàn)
接下來是字典相關(guān)知識(shí)
info = {}
print(type(info))#<class 'dict'>說明這個(gè)info是字典
info = {'name':'劉強(qiáng)東','sex':'男','age':45,'id':56164156186,'addr':'北京'}
1.訪問 根據(jù)空格鍵進(jìn)行訪問
print(info['name'])#劉強(qiáng)東
所以當(dāng)我們不確定字典中是否存在某個(gè)key亲配,而且還要獲得其value,可以使用get
age = info.get('age')
print(age)#45
mail = info.get('mail')
print(mail)#None
不會(huì)報(bào)錯(cuò),會(huì)顯示該值不存在
mail =info.get('mail','122@jingdong.com')
print(mail)#122@jingdong.com
修改
info['name'] ='馬云'
print(info)#{'name': '馬云', 'sex': '男', 'age': 45, 'id': 56164156186, 'addr': '北京'}
添加
info['mail'] = '122@jingdongcom'
print('添加后',info)#添加后 {'name': '馬云', 'sex': '男', 'age': 45, 'id': 56164156186, 'addr': '北京', 'mail': '122@jingdongcom'}
刪除
del 根據(jù)key刪除
del info['name']
print('刪除后',info)#刪除后 {'sex': '男', 'age': 45, 'id': 56164156186, 'addr': '北京', 'mail': '122@jingdongcom'}
clear:清除整個(gè)詞典
info.clear()
print('afterclear',info)#空文件
字典的常用操作
- len:長度
print(len(info))# 6 代表key 的個(gè)數(shù)
2.key :關(guān)鍵詞
keys = info.keys()
print(keys)#dict_keys(['name', 'sex', 'age', 'id', 'addr', 'mail'])
3.value :數(shù)值
values = info.values()
print(values)#dict_values(['馬云', '男', 45, 56164156186, '北京', '122@jingdongcom'])
4.items :項(xiàng)目(關(guān)鍵詞加數(shù)值)
items = info.items()
print(items)#dict_items([('name', '馬云'), ('sex', '男'), ('age', 45), ('id', 56164156186), ('addr', '北京'), ('mail', '122@jingdongcom')])
創(chuàng)建一個(gè)班級(jí)的分?jǐn)?shù)
from random import randint#導(dǎo)入隨機(jī)數(shù)功能
grades = {'student{}'.format(i):randint(50, 100) for i in range(1,21)}
print(grades)
篩選出高于90分的人
d = {k: v for k,v in grades.items() if v>=90}
print(d)
然后是集合的內(nèi)容
集合 無序的弃榨,元素是唯一的
一般用于元組或列表的元素去重
定義一個(gè)集合
set1 = set()
print(type(set1))#<class 'set'>集合
set1 = {1,2,3,4,5,6}
print(type(set1))#<class 'set'>是集合而不是字典
添加 add
set1.add(8)
print(set1)#{1, 2, 3, 4, 5, 6, 8}
刪除 remove
set1.remove(1)
print(set1)#{2, 3, 4, 5, 6, 8}刪掉了數(shù)字1
pop 隨機(jī)刪除集合中的元素
set1.pop()
print(set1)#{3, 4, 5, 6, 8}
discard 存在直接刪除菩收,不存在不做任何操作
set1.discard(4)
print(set1)#{3, 5, 6, 8}
set1.discard(9)
print(set1)#{3, 5, 6, 8}