基本数据类型
数值型
Python 中的都是对象。比如,熟知的 int 整型对象、float 双精度浮点型、bool 布尔值逻辑对象,他们都是单个的元素。
这里举两个特别的例子:
前缀加 0x,创建一个十六进制的整数:
0xa5 # 等于十进制的 165
使用 e 创建科学计数法表示的浮点数:
1.05e3 # 1050.0
容器型
可容纳多个元素的容器对象,常用的例如:list 列表对象、tuple 元组对象、dict 字典对象、set 集合对象。Python 定义这些类型的变量,语法非常简洁。举例如下:
使用一对中括号 [ ],创建一个 list 型变量。
lst = [1, 3, 5] # list 变量
list 容器是开环的,意味着可以向容器中增加或删除元素。
使用一对括号 ( ),创建一个 tuple 型对象。
tup = (1, 3, 5) # tuple 变量
tuple 容器是闭合的,意味着一旦创建元组后,便不能继续向容器中增删元素。但需要注意的是,如果一个元组只包括单个元素,那么在元素后必须保留一个逗号,才解释为元组。
tup = (1,) # 必须保留逗号
否则会被认为元素本身:
In [14]: tup=(1)
...: print(type(tup))
<class 'int'>
使用一对花括号 { } 另外使用冒号 : ,创建一个 dict 对象:
dic = {'a':1, 'b':3, 'c':5} # dict 变量
字典是一个哈希表,可以一一对应内容。
仅使用一对花括号 { },创建一个 set 对象:
s = {1, 3, 5} # 集合变量
Python 的容器类型,list、dict、tuple、set 等能方便地实现强大的功能,下面是案例:
1、去值求平均
去掉列表中的最小的一个值和最大的一个值后,计算剩余元素的平均值。
def score_mean(lst):
lst.sort()
lst2 = lst[1:-1]
return round((sum(lst2)/len(lst2)), 1)
lst = [9.1, 9.0, 8.1, 9.7, 19, 8.2, 8.6, 9.8]
score_mean(lst) # 9.1
2、打印 99 乘法表
打印出如下格式的乘法表:
1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
一共有 10 行,第 i 行和第 j 列等于:j*1,其中:
- i 取值范围:1 ≤ i ≤ 9
- j 取值范围:1 ≤ j ≤ i
In [13]: for i in range(1,10):
...: for j in range(1,i+1):
...: print('%d*%d=%d'%(j,i,j*i),end='\t')
...: print()
3、样本抽样
使用 sample 抽样,如下列子从 100 个样本中随机抽样 10 个。
from random import randint,sample
lst = [randint(0,50) for _ in range(100)]
print(lst[:5]) # [38, 19, 11, 3, 6]
lst_sample = sample(lst,10)
print(lst_sample) # [33, 40, 35, 49, 24, 15, 48, 29, 37, 24]