python文法練習__python

來源:互聯網
上載者:User

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沒有排序)。此種方法不僅方便且效率較高。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.