60D2 – 数据类型

基本数据类型

数值型

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]
页面: 1 2 3 4

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注