python集合和eval的使用
建立集合
使用工廠方法 set()和 frozenset():
>>> s = set('cheeseshop')
>>> s
set(['c', 'e', 'h', 'o', 'p', 's'])
>>> t = frozenset('bookshop')
>>> t
frozenset(['b', 'h', 'k', 'o', 'p', 's'])
>>> type(s)
>>> type(t)
更新集合
用各種集合內建的方法和操作符新增和刪除集合的成員:
>>> s.add('z')
>>> s
set(['c', 'e', 'h', 'o', 'p', 's', 'z'])
>>> s.update('pypi')
>>> s
set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y', 'z'])
>>> s.remove('z')
>>> s
set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y'])
>>> s -= set('pypi')
>>> s
set(['c', 'e', 'h', 'o', 's'])
刪除集合
del set()
成員關係 (in, not in)
>>> s = set('cheeseshop')
>>> t = frozenset('bookshop')
>>> 'k' in s
false
>>> 'k' in t
true
>>> 'c' not in t
集合等價/不等價
>>> s == t
false
>>> s != t
true
>>> u = frozenset(s)
>>> s == u
true
>>> set('posh') == set('shop')
true
差補/相對補集( – )
兩個集合(s 和t)的差補或相對補集是指乙個集合c,該集合中的元素,只屬於集合s,而不屬於集合t。差符號有乙個等價的方法,difference().
>>> s - t
set(['c', 'e'])
對稱差分( ^ ):對稱差分是集合的xor
利用集合去除列表中的重複元素
>>> xs = [5, 8, 5, 1, 1, 4, 2, 4, 3, 2]
>>> set(xs)
set([1, 2, 3, 4, 5, 8])
>>> sorted(set(xs), key=xs.index) # 保持原來的順序
[5, 8, 1, 4, 2, 3]
eval函式的使用
1、計算字串中有效的表示式,並返回結果
>>> eval('pow(2,2)')
4>>> eval('2 + 2')
4>>> eval("81 + 4")
85
2、將字串轉成相應的物件(如list、tuple、dict和string之間的轉換)
Python中的exec和eval函式
函式exec將字串作為 執行 exec print hello,world hello,world 然而,呼叫函式exec時只給它提供乙個引數絕非好事。大多數情況下,還應向它傳遞乙個命名空間 用於放置變數的地方 否則 將汙染你的命名空間,即修改你的變數。例如,假設 使用了名稱sqrt,結果將如何呢?...
python 型別轉換和eval函式
基本資料型別 組合資料型別 1.將程式中的字典資料,轉換成字串儲存到檔案中 users 型別能直接轉換成字串 users str str users 儲存到檔案中 with open data 2.1.text w as file file.write users str 2.將檔案中的字串資料,讀...
python中eval的用法
eval 用於執行乙個字串的表示式,並返回表示式的值 eval expression,globals none,locals none 官方文件中的解釋是,將字串str當成有效的表示式來求值並返回計算結果。globals和locals引數是可選的,如果提供了globals引數,那麼它必須是dicti...