#-*- coding:utf-8 -*-
import ast
######## 1
lis=[2,2,2,3,2,222,2,2,2]
#列舉函式去處理list 不需要用到i了
for i ,item in enumerate(lis):
print(i,item)
#列舉型別可以接受第二個引數
for i ,item in enumerate(lis,1):
print(i,item)
######### 2 字典和集合 這個字典解析還是很有用的 可可以將這個list'成功的轉化為字典
lis=['gx','zlb','dhb','zwl','zwl']
dic=
print(dic)
#集合的生成 還可以自動去重
my_set=
print(my_set)
#將集合再轉化為list
lis=[i for i in my_set]
print(lis )
#########3 將字串中的list提取出來
#這是古典做法
expr = "[1, 2, 3]"
my_list = eval(expr)
print(my_list)
#這是高階做法 安全性更高,因為上面的做法不會防止使用者惡意的輸入。
my_list = ast.literal_eval(expr)
print(my_list)
#json就是屬於 python的字典型別 python 的字典型別更加強大
test=""
test=ast.literal_eval(test)
print(test)
print(type(test))
print(test['name'])
#########4 直接輸出lis的逆序
lis=['a','b','c','d']
print(lis[::-1])
lis.reverse() #其實也是一樣的效果
print(lis)
#########5 三元運算 很簡單的選擇題。
lis=
color='red' if len(lis)==0 else 'black'
print(color)
python骨灰技巧 Python 高階技巧
一 生成器 通過列表生成式,我們可以直接建立乙個列表。但是,受到記憶體限制,列表容量肯定是有限的。而且,建立乙個包含100萬個元素的列表,不僅占用很大的儲存空間,如果我們僅僅需要訪問前面幾個元素,那後面絕大多數元素占用的空間都白白浪費了。這個其實是惰性求值,資料不是全部一下子載入到記憶體中,而是乙個...
Python高階(一) python技巧
除了常見的列表建立方法外,還有一下幾種建立方式 split 函式用來分割文字,可以給定分割符號,如上以 為分割符 suits spade,heart,club,diamond split 用for.in 語句塊可以使得列表的建立更加簡潔,尤其是需要新增大量元素。list seq 函式用來建立,不過只...
Python高階技巧(一)
命名統計 collections 提取公共鍵 map reduce 佇列pickle filter lambda x x 0 list x for x in data if x 0 from random import randint data randint 10,10 for in range ...