python高階寫法 技巧天天練習

2021-10-03 18:38:54 字數 1190 閱讀 5299

#-*- 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 ...