Coursera Python学习笔记(二)数据结构
生活随笔
收集整理的這篇文章主要介紹了
Coursera Python学习笔记(二)数据结构
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
String
- python3中,所有不同語(yǔ)言的字符串都是Unicode
- fruit = 'banana'? ? fruit[0] = '?b'? ?fruit[0:4]? = 'bana',? 我們不可以用 fruit[0] = 'B' 來(lái)修改字符串,但是List可以
- len(fruit)? #字符串長(zhǎng)度
- for letter in fruit: #輸出這個(gè)字符串中的所有字符
- if letter == 'a': #可以用等號(hào)來(lái)判斷字符或字符串是否相等
- after = before + 'aaa' #字符串拼接(拼接后中間沒(méi)有空格)
- if 'f' in fruit? :True? # 用in可以來(lái)判斷字符串里是否有某個(gè)字符(或多個(gè)字符)
- 字符串比較: word == 'banana' 一個(gè)一個(gè)字符串比較,word <(>)? 'banana' 按照字母序判斷 注意大寫(xiě)小于小寫(xiě)
- dir(fruit) #會(huì)輸出fruit這個(gè)字符串python 內(nèi)置的各種Methods.比如fruit.lower()就是一個(gè)method.
- capitalize() 首字母大寫(xiě) 、str.find('a') 如果沒(méi)有找到返回-1、str.replace('a','b')用b替換所有的a、lstrip、rstrip、strip去掉str左邊,右邊,兩邊的whitespaces、startswith()\endswith()判斷整個(gè)字符串的開(kāi)頭字符
File
- fhand?= open(filename,mode)? ?mode:‘r’? filename是一個(gè)string
- 這個(gè)fhand并不是真的讀取了文件中的所有內(nèi)容,而是可以manipulate文件的一個(gè)connection,可以看做是a sequence of strings,每一個(gè)string就是文件中的一行。
handle在內(nèi)存里,把secondary memory中的內(nèi)容和我們的python文件連接起來(lái)了,open/read/write/close就是一系列operation。
- 要輸出文件中的每一行,可以這樣子:for line in fhand:print(line)
- content= fhand.read()? ? ?len(content)就是文件中所有的字符數(shù)?content[:20]即文件前20個(gè)字符
- if not 'abc' in line/ if line?startswith('From:') .....? ? ?可以根據(jù)自己需要篩選出自己要的那些行
- 一般文件操作都要有try,except操作 try:..... except:....quit()
- 換行符\n:(一種whitespace whitespace就是那些看不見(jiàn)的比如\n,\r...)
List
- 有趣的一件事:,浮點(diǎn)數(shù)are not always perfectly represented inside of the computer
- range(10) :生成一個(gè)list (a list of numbers that range from zero to one less than the parameter)???
- List拼接:① a = [1,2,3]? b = [4,5,6] , c = a+b = [1,2,3,4,5,6]? ② c.append('888')? c =?[1,2,3,4,5,6,'888']? c.append(888)?c =?[1,2,3,4,5,6,888]
- List分割:?
- 初始化一個(gè)空List:stuff = list() 或 stuff? = []
- 判斷List中是否有某字符:9 in c:False 、2 not in c: False
- List自帶有sort方法:c.sort()
- List還有一些處理數(shù)值的方法:,不過(guò)這些內(nèi)置的方法在數(shù)據(jù)量比較大的時(shí)候其實(shí)效率不高.
- 把字符串切割成List:
Dictionary
- List與Dictionary的不同點(diǎn):。因?yàn)樽值淅锏脑貨](méi)有順序,所以字典中的元素需要有l(wèi)abel~也就是key
- 初始化:purse = dict()? ? ?purse['money'] = 12(賦值)? ? 空字典:purse = {}
- 字典的應(yīng)用:① 計(jì)多個(gè)元素出現(xiàn)的次數(shù)
- 判斷一個(gè)value是否在字典里:if ‘money’ in purse
- 不重復(fù)地向字典中添加元素:
- .get()方法:? ? ? update的同時(shí)可以create:?(背景是計(jì)算一段文本中每個(gè)單詞的出現(xiàn)次數(shù))
- 獲取字典的key和value的List:?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?循環(huán)輸出key和value值:
- 使用字典計(jì)算文件中的單詞出現(xiàn)次數(shù):
Tuple
- 元組是不可變長(zhǎng)的(immutable)
- 元組比較高效,當(dāng)構(gòu)造臨時(shí)變量的時(shí)候用元組比較好
- 元組可以多元素賦值:
- 將字典中內(nèi)容保存為元組列表:
- 元組是可比較的(字母比較根據(jù)首字母):
- 用元組對(duì)字典內(nèi)容排序:根據(jù)key排序:?根據(jù)value排序:? 更簡(jiǎn)潔的寫(xiě)法:
- 計(jì)算文件中出現(xiàn)次數(shù)前十位的單詞及其數(shù)量:
- ?
總結(jié)
以上是生活随笔為你收集整理的Coursera Python学习笔记(二)数据结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于MPU6050学习的一些总结之三MP
- 下一篇: python+selenium+apsc