一.基本特點
"""常用的序列結構有:字元串、清單、元組、字典、集合"""
a="abc" #字元串元素為字元(字元序列)
print(a)
b=[10,20,30,'abc',True] #清單,元素為任意類型,并且大小和元素可變(任何元素序列)
b=list((1,2,3)) #list可以接收元組、字元串、其他序列類型、疊代器等生成清單
print(b)
c=(1,2,3) #元組,不能修改元組中的元素(小括号可以省略,如果隻有一個元素并且使用小括号,需要在元素後邊加一個逗号)
c=tuple([2,3,4]) #tuple可以接收清單、字元串、其他序列類型、疊代器等生成元組
print(c)
d={'name':'vivinia','age':18,'job':'programmer'} #字典,“鍵值對”的無序可變序列(鍵是任意不可變并且不重複資料)
d=dict.fromkeys(['name','age','job']) #建立值為空的字典
print(d)
e={1,2,3} #集合,無序可變,元素不能重複
e=set([1,2,2,5,6,6]) #将清單、元組等可疊代對象轉換為集合,如果原來序列存在重複資料,則相同元素隻保留一個
print(e)
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLygDO4QDNxYTMzATNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
二.推導式
""" 推導式:
是從一個或多個疊代器快速建立序列的一種方法,
可以将循環和條件判斷結合,
進而避免冗長的代碼
"""
#清單推導式
print([x*2 for x in range(1,5)]) #[表達式 for item in 可疊代對象]
print([x for x in range(1,5) if x%2==0]) #[表達式 for item in 可疊代對象 if 條件判斷]
#字典推導式
my_text="i love you,i love python,i love computer." #{key:value for 表達式 in 可疊代對象}
char_count={c:my_text.count(c) for c in my_text} #c是鍵,my_text.count(c)表示該鍵對應的個數
print(char_count)
#集合推導式
setNum={x for x in range(1,10) if x%3==0}
print(setNum)
#生成器推導式(生成元組)
gnt=(x for x in range(1,100) if x%9==0) #傳回一個生成器對象,不是傳回元組對象
print(tuple(gnt)) #生成元組
print(tuple(gnt)) #一個生成器隻能運作一次,第二次為空了
經常搞不懂這幾個資料類型,隻挑了比較重要的特性做個筆記,其餘的增删改查大同小異。