1. 程式人生 > >6.python的set、list和dict的解析

6.python的set、list和dict的解析

#-*-coding:UTF-8-*-
#列表解析
#提供了一種緊湊的方式,實現了通過對列表中每一個元素應用一個函式方法來將一個列表對映到另外一個列表。

a_list=[1,2,3,4,5]
b=[elem *2 for elem in a_list]                  #對於a_list中的每個元素,都乘以2,然後返回一個新列表
print b

b=[f for f in a_list if f<3]                   #用列表解析來進行過濾,生成新的列表
print b

b=[(f,f+10) for f in a_list]                   #複雜的用法,可以使用列表生成更復雜的列表
print b
print type(b)


#字典解析,和列表解析類似

a_dict={'a':1,'b':2,'c':3}
b=[elem for elem in a_dict]                    #從字典得到一個列表
print type(b)
print b

b={k:v for k,v in a_dict.items()}                  #得到一個字典
print b
print b.keys()
print b.items()

#字典的鍵值交換
print {value:key for key ,value in a_dict.items()}      #key,value是從a_list.items()這個方法返回的每個元素都是一個元組,所以可以取出來

#集合解析
a_set=set(range(10))
print a_set

print {x**2 for x in a_set}                #每個元素都平方