引用模塊的兩種形式
- 形式1:
import module-name
import后面跟空格,然后是模塊名稱,例如:import os - 形式2:
from module1 import module11
module1是一個大模塊,里面還有子模塊,只想用module11,就這么寫了
list
操作
`list.append(item)` 追加item元素到list列表
`list.insert(i,x)` 在i的位置添加x元素
如果i==len(list),意思是在最后一位追加,就等同于list.append(x)
`list.extend(list2)` 追加list2列表到list里面去
list2可以是字符串,也可以是list列表
>>> la = [1,2,3]
>>> b = "abc"
>>> la.extend(b)
>>> la
[1, 2, 3, 'a', 'b', 'c']
>>> la
[1, 2, 3, 'a', 'b', 'c']
>>> lb
['qiwsir', 'python']
>>> la[len(la):]=lb
>>> la
[1, 2, 3, 'a', 'b', 'c', 'qiwsir', 'python']
`list.count(x)` list中x出現的次數
`list.index(x)` x在list元素中所在的坐標
刪除
list.remove(x) 刪除list的中的x元素
list.pop(i) 刪除list中的下標為[i]的元素,如果沒有寫下標,默認刪除最后一個
list
和str
之間的相互轉換
line = "Hello.I am qiwsir.Welcome you."
line.split(".") #以英文的句點為分隔符,得到list
['Hello', 'I am qiwsir', 'Welcome you', '']
如果 split() 中什么都不寫,則表示用空格分割
name = ['Albert', 'Ainstain'];
".".join(name)
得到 'Albert.Ainstain'
>>> squares = [x**2 for x in range(1,10)]
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> aliquot = [n for n in range(1,100) if n%3==0]
>>> aliquot
[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
>>> print range(3,100,3)
[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
變量無類型,對象有類型
編碼問題
- 使用中文,首先在頭部聲明
coding:utf-8
- 經驗二:遇到字符(節)串,立刻轉化為unicode,不要用str(),直接使用unicode()
unicode_str = unicode('中文', encoding='utf-8')
print unicode_str.encode('utf-8')
- 經驗三:如果對文件操作,打開文件的時候,最好用codecs.open,替代open(這個后面會講到,先放在這里)
import codecs
codecs.open('filename', encoding='utf8')