知識點總結python
1、序列app
操做符ide
x in s 若是x是清單s的元素,傳回True,不然False
s + t 連結兩個序列s和t
s*n或者n*s 将序列s複制n次
s[i] 傳回s中第i元素
s[i:j]或s[i:j: k] 切片,傳回序列s中第i到j-1以k為步長的元素子序列
函數函數
len(s) 傳回序列的長度
min(s) 傳回序列的最小值
max(s) 傳回序列的最大值
s.index或s.Index(x,i,j) 索引從i到j-1中第一次出現x的位置
s.count(x) 傳回x在s中出現的次數
ls[i] = x 替換清單中第i元素為x
ls[i:j:k] =lt 用lt代替從i到j-1步長為k的元素
ls += lt 把lt元素加入ls中
ls*= n 把ls的元素複制n次
2、清單code
函數排序
ls.append(x) 把x加入清單ls中
ls.clear() 删除ls中全部元素
ls.copy() 生成一個新清單并賦予ls的元素
ls.insert(i.x) 在第i位置家加入元素x
ls.pop(i) 将清單ls中第i元素去除并删除其元素
ls.remove(x) 将清單ls出現的第一個元素x删除
ls.reverse() 将清單ls的元素反轉
3、元組索引
與清單相似,可是内容不可添加或者删除,用()表示。ip
4、字元串rem
str.lower()
或者str.upper() 把元素所有大寫\小寫
str.split(x) 用x把str的元素分隔開
str.count(x) 傳回x在str中出現的次數
str.replace(x,y) 用y替換x
str.center(width,x) 将str根據寬度width居中,x填充左右部分
str.strip(x) 删除str首尾的x
x.join(str) 在除了最後1個元素的其餘元素後增長一個str
5、15道例題字元串
一、用階梯形狀列印出九九乘法表
解題思想
九九乘法表須要把兩個變量相乘,可考慮用for if循環
因為每次print都會自帶一個換行符,是以能夠考慮用end去除換行符
代碼
for i in range(1,4):
for j in range(1,i+1):
print(i,'*',j,'=',i*j, sep='', end=' ')
print('')
二、列印字元串"甲乙丙丁午己庚辛壬癸"的全部字元,要求每一個字元占據一行
解題思想
這樣依次列印字元串,考慮用 for循環。
代碼
for c in "甲乙丙丁午己庚辛壬癸":
print(c)
三、循環十次在同一行内列印10個’X’
解題思想
考慮while循環,同一行用end函數換掉末尾的換行符
代碼
i = 0
while i<10:
print('*', end='')
i += 1
四、計算績點
若分數小于60,則GPA=0
若分數score>=60, 則 GPA=(score-50)/10
解題思想
須要分狀況,是以可用if函數
代碼
def GPA(score):
GPA = 0
if score>=60:
GPA = (score-50)/10
return GPA
輸入分數便可獲得GPA
五、計算不大于100的全部天然數的和
解題思路
for循環裡面加入疊加的變量
代碼
x = 0
for i in range(1,101):
x+=i
print(x)
六、将字元串‘pythonlil’變成大寫形式
解題思想
可用upper實作
代碼
x = 'pythonlil'.upper()
print(x)
七、用單個for,循環十次在同一行内列印十個數字’0 1 2 3 4 5 6 7 8 9 ’
字元之間用單個空格分隔
解題思想
十個數字能夠用range函數實作,經過for 循環解題
代碼
for i in range(10):
print(i, end=' ')
print('')
八、循環十次在同一行内列印10個’=’
解題思想
看到循環應該反應用for或者while來解決
代碼
for i in range(10):
print('=', end='')
print('')
九、列印下列圖案:12個等号,每行4個
解題思想
列印重複等号用for或者while實作,換行能夠用if實作
代碼
for i in range(1,13):
print('=', end='')
if(i%4==0):
print('\n', end='')
十、用雙層for循環列印九九乘法表
解題思路
限定用兩個for 一個for控制第一個變量 另外一個for控制第二個變量 換行用end函數實作
代碼
for i in range(1,4):
for j in range(1,i+1):
print(i,'*',j,'=',i*j, sep='', end=' ')
print('')
十一、異常處理
假設在一大堆日期資料中出現多個錯誤日期2019/2/29 除去這些不正确的行
解題思想
須要鎖定29這個不存在二月的号數,須要用split分隔
代碼(設data是日期清單)
for line in data1:
linelist = line.split(',')
linelist1 = linelist[1].split(' ')
linelist2 = linelist1[0].split('-')
linelist3 = list(linelist2)
if linelist3[1] == '02' and linelist3[2] == '29'
del line
十二、資料分類
假設有包含1到12月的日期清單linelist 将每月的日期分别放在不一樣的csv檔案裡面
解題思想
須要鎖定月份 是以要把月份分隔開來做為分類依據
代碼(設data是日期清單)
for line in data:
linelist = line.split(',')
linelist1 = linelist[1].split(' ')
linelist2 = linelist1[0].split('-')
if linelist2[1]=='01':
with open('mon1.csv','a+')as f1:
f1.write(line)
elif linelist2[1]=='02':
with open('mon2.csv','a+')as f2:
f2.write(line)
elif linelist2[1]=='03':
with open('mon3.csv','a+')as f3:
f3.write(line)
elif linelist2[1]=='04':
with open('mon4.csv','a+')as f4:
f4.write(line)
elif linelist2[1]=='05':
with open('mon5.csv','a+')as f5:
f5.write(line)
elif linelist2[1]=='06':
with open('mon6.csv','a+')as f6:
f6.write(line)
elif linelist2[1]=='07':
with open('mon7.csv','a+')as f7:
f7.write(line)
elif linelist2[1]=='08':
with open('mon8.csv','a+')as f8:
f8.write(line)
1三、比較[1,3,6,8,5,2,6]的大小并按照從大到小排序
解題思想
sort函數能夠按照從小到大的順序排序,題目要的是從大到小,用reverse = True可實作降序
代碼
[1,3,6,8,5,2,6].sort(reverse=True)
1四、輸入一個阿拉伯整數,四位數字一組,間隔以逗号
解題思想
須要判斷何時達到四位并進行分隔,定義一個函數 n即為輸入的整數
代碼
def wan(n, sep=','):
n = str(n)
L = len(n)
lst = []
b = L%4
if b>0:
lst = [n[:b],]
for i in range(b,L,4):
lst.append(n[i:i+4])
n = sep.join(lst)
return n
使用print(wan(n))就能夠獲得結果
1五、 建立一個1.txt檔案 輸入’靜夜思‘
解題思想
建立py檔案能夠直接用with open函數 輸入文字用write()實作
代碼
with open('1.txt','w+') as f:
f.write('靜夜思')
以上就是知識點的總結和15道例題的解析