本文实例讲述了Python学习笔记基本数据结构之序列类型list tuple range用法。分享给大家供大家参考,具体如下:
list 和 tuple
- list:列表,由 [] 标识; 有序;可改变列表元素
- tuple:元组,由 () 标识; 有序;不可改变元组元素(和list的主要区别)
list 和 tuple 的创建:
print([]) # 空list print(["a",1,True]) # 元素类型不限 print([x for x in range(0,6)]) # 列表推导式 print(list("a"),type(list("a"))) # 强制转化 print(()) # 空tuple print((1)) # 不是tuple print((1,)) # 单一元素tuple 一定要加, print(("a",1,True)) # 元素类型不限 print(tuple("a"),type(tuple("a"))) # 强制转化
空list l = []
list 用一对方括号,用’,’隔开里面的元素 l = [a]
l = ["a",1,True]
元素类型不限
列表推导式,如:[x for x in range(0,6)]
(下方会详细介绍 range
及 列表推导式)
类型转换 list()
空tuple t = ()
tuple 若只有一个元素时,注意表示为 t = (1,)
一定要有逗号
tuple 用一对圆括号,用’,’隔开里面多个的元素 t = ("a",1,True)
元素类型不限
类型转换 tuple()
range
range 可方便的生成一个等差的序列,有两种表示 range(stop) 、range(start, stop[, step]) ; 通常用在 for循环语句中
range(stop) 表示 0 到 stop(不包含stop) 等差为1 的数,如 range(4) 表示 0 1 2 3
range(start, stop[, step]) 表示 从 start 到 stop(不包含stop) 等差为step的数;step缺省为1,可设置为负数
print(type(range(4))) # range本身就是一个type for i in range(4): print(i) # 0 1 2 3 for i in range(-1): # 从0计数,无值 print(i) for i in range(4,7): # 4 5 6 print(i) for i in range(2,7,2): # 2 4 6 print(i) for i in range(5,2,-1): # 5 4 3 print(i)
序列操作
一般操作,不改变list本身
Operation | Result |
---|---|
x in s | True if an item of s is equal to x, else False |
x not in s | False if an item of s is equal to x, else True |
s + t | the concatenation of s and t |
s * n or n * s | n shallow copies of s concatenated |
s[i] | ith item of s, origin 0 |
s[i:j] | slice of s from i to j |
s[i:j:k] | slice of s from i to j with step k |
len(s) | length of s |
min(s) | smallest item of s |
max(s) | largest item of s |
s.index(x[, i[, j]]) | index of the first occurrence of x in s (at or after index i and before index j) |
s.count(x) | total number of occurrences of x in s |
s = ["a",1,True,["b"],2] print("a" in s) # 判断元素存在于s print("a" not in s) # 判断元素不存在于s print("b" in s) print(1.0 in s) # 这边不判断int float类型不同 print("1" in s) # 这边的1为字符串 a = [1,2] b = [2,1,0] print(a+b) # 序列相加 print(a*3) # 序列乘法 s = [0,1.0,2,3,4,5,6,7,8] print(s[0],s[2],s[3]) # 通过下标来取出对应的元素 print(type(s[0])) print(type(s[1])) print(s[2:4]) # 取出一段list print(s[2:7:2]) # 根据步长取出一段list print(len(s)) # list长度,即包含几个元素 <em style="color:transparent">本文来源gao.dai.ma.com搞@代*码#网</em>sum = 0 for i in range(0,len(s)): # 使用for循环来取出list的每个元素 print(s[i]) sum += i # 赋值的简单表达式,相当于 sum = sum + i print(sum) # 总和 print(min(s),max(s)) # 取最小/最大;注意元素类型间若不可比较,会报错 s = [2,3,1,2,2,3] print(s.index(2)) # 查找对应元素第一次出现的下标 # print(s.index(4)) # 不存在该元素会报错 print(s.index(2,3)) # 从下标为3的开始找起 print(s.index(2,3,4)) # 从下标为3到下标4的阶段内找 print(s.count(2)) # 输出为2的元素的个数 print(s.count("2")) # 找不到匹配元素,返回0