python列表与元祖

2019-07-29  本文已影响0人  举颗凤梨

列表的相关操作

1.列表的数学运算:+ , *

2.列表的比较运算: == 、 != 、 < 、 >

补充:is的用法

list1 = [1,2,3]
list2 = [1,2,3]
print(list1 == list2, list1 is list2)  # list1 is list2 相当于: id(list1) == id(list2)

3. in 和 not in

4.内置函数:

max(序列) , min(序列) , sum(序列) , len(序列),list(序列) 所有的序列都可以用

1.列表.count(元素) - 统计列表中指定元素的个数

nums = [23, 45, 67, 89, 23, 46, 23, 21]
print(nums.count(23))  #统计23的个数  3
print(nums.count(1))   # 0

2,列表.extend(序列) - 将序列中的元素添加到列表的最后

nums = [1, 2, 3]
nums.extend([10,20])
nums.extend('ABC')
print(nums)  #[1, 2, 3, 10, 20, 'A', 'B', 'C']

3.列表.index(元素) - 获取元素在列表中的下标(如果元素有多个,只取第一个;元素不存在会报错)

4.列表.reverse() - 让列表倒序,不会产生新列表

5.排序

内置函数:sorted

num1 = sorted(nums)
print(num1)

6.清空列表:列表.clear()

nums.clear()
print(nums)

7.列表.copy() - 和列表[:]的效果一样,赋值列表中的元素产生新的列表,这的拷贝是浅拷贝

num1 = [1,2,4,5]
num2 = num1.copy()
num3 = num1 * 1
num4 = num1[:]
num5 = num1 + []
print(num1 is num2,num1 is num3,num1 is num4,num1 is num5)

元祖

1.什么是元祖(turple)

元祖就是不可变的列表

1)

2)元祖中元素 - 和列表要求一样

1.元祖的表示

1)单个元素的元祖(小括号可以省略): (元素,)或者元素,

tuple1 = (12,) # 必须加逗号,否则会视为一个整体
tuple2 = 12,

2)多个元素的元祖(小括号可以省略): (元素1,元素2...)或者元素1,元素2,...

tuple3 = (1, 2, 3, 4)
tuple4 = 1, 2, 3, 4

2.获取元祖中的元素

1) 获取单个元素

print(weeks[0], weeks[-1])

2)切片

print(weeks[1:3], weeks[:-1:2]) # 切片的结果是元祖

3)遍历

for week in weeks:
print(week)
for index in range(len(weeks)):
print(index, weeks[index])

4)获取部分元素:变量1,变量2,变量3,... = 元祖
tuple5 = (10,20)
x, y = tuple5  # 个数不一致会报错
print(x, y)
5)语法:多个变量某一个变量前带 = 元祖
student = ('小米', 18, 'stu001', 23, 45, 78)
name, age, study_id, *scores = student
print(name, age, study_id, scores)  # 小米 18 stu001 [23, 45, 78]
*x, y, z = student
print(x, y, z)   # ['小米', 18, 'stu001', 23] 45 78

3.元祖相关操作:和列表一样

sorted
print((1,2,3,4)*3)
print((1,2,3,4)+(5,6,7))
print(sorted((4,6,3,4,7,1)))

数字

1.整型

print(int(3.14),int(3.99))  # 3 3
print(int(True),int(False))  # 1 0
print(int('12'),int('-12'),int('+12'))   # 12 -12 12
print(int())  # 0

2.浮点型

print(3e4)  # 30000.0
print(1.25e2)  # 125.0
print(float(100))  # 100.0
print(float(True),float(False))  # 1.0 0.0
print(9.9/3)
print(float('1.23'))    # 1.23

3.布尔

print(1+1, True+1, True*10, False+1)
print(bool(0), bool(0.0), bool(''), bool([]),bool(()))
# 判断列表是否为空,能不写==就不写
nums = []
if not nums:
    pass

4.复数

"""
由实部和虚部组成的数字叫复数:a+bj(a是实部、b是虚部、j是虚数单位),对应的类型是complex;python直接支持复数的运算
"""
print(10+20j,type(10+20j)) # 虚部不能省
num1 = 2+3j
num2 = 4-2j
print(num1+num2,num1*num2,num1/num2) # (6+1j) (14+8j) (0.1+0.8j)

math模块

math.方法名

import math
print(math.pi, math.e)

random模块

1)random.randint( M,N)

2)random.random()

3)random.randrange(M,N,step)

4)random.choices(序列,k=N)

5)random.shuffle(列表)

nums = [1, 3, 6, 9, 13, 26]
names = ['小们','小溪','小镇','小红']
random.shuffle(nums)
random.shuffle(names)
print(nums,names)

上一篇下一篇

猜你喜欢

热点阅读