【Python笔记】2--数据类型

1、Python的系列数据类型

Python没有提供直接创建数组的功能,但是内置的系列数据类型包括:

    元组(tuple)、列表(list)、字符串(str)和字节数据(bytes和bytearray)

2、基本操作

(1)len(), max(), min(), sum()

(2)s[5]索引下标从左到右为: 0~n-1

                             从右到左为:-1~ -n

(3)系列的切片操作:s[i : j]  或s[i: j :k ]:

         i 为开始下标,j为结束下标,k为步长。如果省略i, 则下标从0开始; 如果没有j,则直到系列结束为止; 如果省略k ,则步长为1。其中下标可以为负数,如果截取范围内没有数据,则返回空元组;如果超过下标范围,不报错。

(4)连接和重复操作: s1+s2 或者s*n 或者n*s

         连接操作符+ 和重复操作符* 支持符合赋值运算,即:+= 和*=

(5)成员关系操作:

(6)比较运算操作: (<, <=, ==, !=, >=, >)

         字符串比较运算按顺序逐个元素进行比较

(7)内置运算:

排序运算:key是用于比较键值的函数(带一个参数)

         sort(iterable, key = None, reverse = False) 正序

         sort(iterable, key = None, reverse = True) 反序

all(iterable)和any(iterable):判断系列的元素是否全部个部分为True

list的方法:

s.append(x) #把x追加到s尾部
s.clear()  # 删除所有元素
s.copy()  #复制列表
s.extend(t) #把系列t加到s尾部
s.insert(i,x) #在下标i后插入x
s.pop([i]) #返回并移除下标i处对象,省略i时为最后对象。若超出则IndexError
s.remove(x) #移除列表s中第一个出现的x。若不存在x则ValueError
s.reverse() #列表反转
s.sort() # 列表排序

#按条件迭代,并计算生成列表
#[expr for i1 in t1 ... for iN in tN if cond_expr]

print( [i for i in range(10) if i%2 == 0] )
#Output: [2,4,6,8]
print( [(i,i**2) for i in range(5)] )
#Output: [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16)]
print( [(x,y,x*y) for x in range(1,4) for y in range(1,4) if x>=y] )
#Output: [(1, 1, 1), (2, 1, 2), (2, 2, 4), (3, 1, 3), (3, 2, 6), (3, 3, 9)]

(8)系列拆封

  • 赋值号两边的长度相同:
data =  (1001,'LI',(80,79,93))
side1,name1,scores1 = data
print (scores1)  # Output: (80,79,93)

side2,name2,(chinese,math,english) = data
print(math)  #Output: 79
  • 只需要使用部分数据,其他位置可以使用临时变量"_":
data =  (80,79,93)
_,math1,_ = data
print(math1)  #Output: 79

data =  (80,79,93)
_, *math2 = data
print(math2) #Output: [79,93]

  • 赋值号两边的长度不同:
first_1, *middle_1, last_1 = range(10)
print(middle_1)  #[1, 2, 3, 4, 5, 6, 7, 8]

first_2, second_2,third2,*last_2 = range(10)
print(last_2)   #[3, 4, 5, 6, 7, 8, 9]

*first_3, last3,last2,last1 = range(10)
print(first_3)   #[0, 1, 2, 3, 4, 5, 6]

#去掉最高分和最低分后求平均值
first, *middles, last = sorted([23,89,78,74,42,34,24,98])
sum(middles)/len(middles)  #56.833333333333336

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值