一.基本特点
"""常用的序列结构有:字符串、列表、元组、字典、集合"""
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)
二.推导式
""" 推导式:
是从一个或多个迭代器快速创建序列的一种方法,
可以将循环和条件判断结合,
从而避免冗长的代码
"""
#列表推导式
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)) #一个生成器只能运行一次,第二次为空了
经常搞不懂这几个数据类型,只挑了比较重要的特性做个笔记,其余的增删改查大同小异。