1.2 - 基本数据类型 与 列表、字典、集合推导式
1.python基本数据类型:
Python中的基本数据类型共六种,分别为:Number、str、list[ ]、tuple( )、dict{ : , : , : }、set{ },
除此之外,空值用 None 表示,布尔值用 bool 表示,range(m,n)返回一个[m, n)范围的可迭代对象,array()是一个数组。
注:初始化只有一个元素的元组,要:a = (1, ) ,如果没有逗号,则a会被初始化为Number 1。
list的方法:append表示向list中添加一个元素;extend方法表示将 iterable的元素打平依次拼接到 list 的末尾。
2.python的布尔类型 False / True
默认False,只有 0 空列表 空字符串 空元组 是False,其余都是True。
3.python字符串中的单引号和双引号
python中,单引号和双引号都能自动识别转移字符,没有什么区别,但是可以可以单双引号嵌套来
row字符串,r' ' 会强制引号内全部为普通字符,强制不发生转义,常用于网址url的字符串化处理。
format字符串,f'...{ }...' 会将 { } 中的变量进行替换,引号中的内容不发生转义。
2.推导式
Python推导式,以 一种固定的逻辑 初始化生成一个新的 列表、字典、集合。【exp for 子句】
以列表为例:
推导式生成普通列表:
lst = [x**2 for x in range(1,5)] #实际为: lst = [] for x in range(1,5): lst.append(x**2) print(lst)
推导式生成元组列表(当推导式中的字句包含多个子句的时候,可以看作是多个子句从左向右的依次内嵌):
lst2 = [(x,y) for x in range(5) if x % 2 for y in (1,2,3)] #实际为: lst2 = [] for x in range(5): if x % 2: for y in (1,2,3): lst2.append((x,y)) print(lst2)
同理:
推导式生成字典:
dict = {x:x**2 for x in range(5)}
同理:
推导式生成集合:
s = {x*2 for x in range(5)}
#实际为:
s = set()
for x in range(5):
s.add(x*2)
print(s)
但是:集合推导式要注意:集合本身是自动去重的,所以实际生成的集合会推导式中所有枚举值去重后的结果!!!
例如:
s = {x+y for x in range(3) for y in range(5, 9)}
#实际为:
s = set()
for x in range(3):
for y in range(5,8):
s.add(x+y)
print(s) #结果为:5,6,7,8,9

浙公网安备 33010602011771号