1.2 - 基本数据类型 与 列表、字典、集合推导式

1.python基本数据类型:

Python中的基本数据类型共六种,分别为:Numberstrlist[ ]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

 

posted @ 2024-01-05 00:16  橘子葡萄火龙果  阅读(20)  评论(0)    收藏  举报