1、str.split(‘分隔字元’) 返回根據分隔字元分的列表
str.split(‘分隔字元’,n) 返回分割前n個分隔字元的分割結果清單
注意str不能為None,否則會報異常
>>> a = "Line1-abcdef \nLine2-abc \nLine4-abcd";>>> a.split('\n',2)['Line1-abcdef ', 'Line2-abc ', 'Line4-abcd']>>> a = "Line1-abcdef \nLine2-abc \nLine4-abcd \nhaha";>>> a.split('\n',2)['Line1-abcdef ', 'Line2-abc ', 'Line4-abcd \nhaha']
2、條件運算式:
兩種方式:
and-or 運算式::
((a > b) and [a] or [b])[0]
if-else 語句::
a if (a > b) else b
3、sorted排序
4、for迴圈的坑
a = [1,2]for item in a[0:1]: print item#結果:1for item in a[0:2]: print item#結果:1 2
這種寫法分區的最後一個元素是不包括在迴圈中的(python版本2.7)
5、python的dict,set,list,tuple簡單分析
https://my.oschina.net/courade/blog/143894
字典(dict)
dict 用 {} 包圍
dict.keys(),dict.values(),dict.items()
hash(obj)返回obj的雜湊值,如果返回表示可以作為dict的key
del 或 dict.pop可以刪除一個item,clear清除所有的內容
sorted(dict)可以吧dict排序
dict.get()可以尋找沒存在的key,dict.[]不可以
dict.setdefault() 檢查字典中是否含有某鍵。 如果字典中這個鍵存在,你可以取到它的值。 如果所找的鍵在字典中不存在,你可以給這個鍵賦預設值並返回此值。
{}.fromkeys()建立一個dict,例如: {}.fromkeys((‘love’, ‘honor’), True) =>{‘love’: True, ‘honor’: True}
不允許一個鍵對應多個值
索引值必須是雜湊的,用hash()測試
一個對象,如果實現hash()方法可以作為索引值使用
集合(set)
集合是一個數學概念,用set()建立
set.add(),set.update.set.remove,添加更新刪除,-= 可以做set減法
set.discard 和 set.remove不同在於如果刪除的元素不在集合內,discard不報錯,remove 報錯
< <= 表示 子集,> >=表示超集
| 表示聯合 & 表示交集 - 表示差集 ^ 差分集裡啊
列表(list)
列表是序列對象,可包含任意的Python資料資訊,如字串、數字、列表、元組等。列表的資料是可變的,我們可通過對象方法對列表中的資料進行增加、修改、刪除等操作。可以通過list(seq)函數把一個序列類型轉換成一個列表。
append(x) 在列表尾部追加單個對象x。使用多個參數會引起異常。
count(x) 返回對象x在列表中出現的次數。
extend(L) 將列表L中的表項添加到列表中。返回None。
Index(x) 返回列表中匹配對象x的第一個清單項目的索引。無匹配元素時產生異常。
insert(i,x) 在索引為i的元素前插入對象x。如list.insert(0,x)在第一項前插入對象。返回None。
pop(x) 刪除列表中索引為x的表項,並返回該表項的值。若未指定索引,pop返回列表最後一項。
remove(x) 刪除列表中匹配對象x的第一個元素。匹配元素時產生異常。返回None。
reverse() 顛倒列表元素的順序。
sort() 對列表排序,返回none。bisect模組可用於排序清單項目的添加和刪除。
元組(tuple)
tuple=(1,),這是單個元素的元組表示,需加額外的逗號。
tuple=1,2,3,4,這也可以是一個元組,在不使用圓括弧而不會導致混淆時,Python允許不使用圓括弧的元組。
和列表一樣,可對元組進行索引、分區、串連和重複。也可用len()求元組長度。
元組的索引用tuple[i]的形式,而不是tuple(i)。
和列表類似,使用tuple(seq)可把其它序列類型轉換成元組。
—————————————————— 分割線 ——————————————————————–
以下摘自 http://blog.csdn.net/gemini_dolphin/article/details/7786892
Python中Set和List的效能差距能有數百倍 如果有需要求(集合,列表等)的並集和交集的時候,最好使用Set。
set轉成list方法如下: list轉成set方法如下:
s = set(‘12342212’) l = [‘12342212’]
print s # set([‘1’, ‘3’, ‘2’, ‘4’]) s = set(l[0])
l = list(s) print s # set([‘1’, ‘3’, ‘2’, ‘4’])
l.sort() # 排序 m = [‘11’,’22’,’33’,’44’,’11’,’22’]
print l # [‘1’, ‘2’, ‘3’, ‘4’] print set(m) # set([‘11’, ‘33’, ‘44’, ‘22’])
可見set和lsit可以自由轉換,在刪除list中多個/海量重複元素時,可以先轉換成set,然後再轉回list並排序(set沒有排序)。此種方法不僅方便且效率較高。