Python(三) 列表、元组

本文详细介绍了Python的基础知识,包括正整数最大值查找、字符输入处理、for循环使用、列表操作、元组应用等内容,适合初学者快速入门。

1.输入一个正整数,输出其中最大值
num = int(input(“请输入一个正整数:”))
b = 0
max = 0
while num>0:

b = num % 10
num = num//10
if max < b:
    max = b

print(max)
在这里插入图片描述
输入字符,判断数字,字母,并输出最大最小数
dx = 0
xx = 0
sz = 0
i = 1
while i<10:
zf = input(“请输入一个字符”)
if i==1:
max = ord(zf)
min = ord(zf)
if zf >= ‘0’ and zf <= ‘9’:
sz += 1
elif 97 <= ord(zf) <= 122:
xx += 1
elif ‘A’ <= zf <= ‘Z’:
dx += 1
if ord(zf)>max:
max = ord(zf)
elif ord(zf)<min:
min = ord(zf)
i += 1
print(“大写”,dx)
print(“小写”,xx)
print(“数字”,sz)
print(“最大”,max)
print(“最小”,min)
在这里插入图片描述

2.for 循环
for i in range(5):
print(i)
在这里插入图片描述
两个数左闭右开,只有一个数,那个数是终点,从0开始
for i in range(3,9):
print(i)在这里插入图片描述
括号里面3个参数:第一个参数起点,第二个数终点,第三个数步长
for i in range(10,20,2):
print(i)
在这里插入图片描述
倒着输
for i in range(18,8,-3):
print(i)
在这里插入图片描述

列表(可修改,还有字典,集合)
a = []
b = [1,2]
print(type(a),a)
print(type(b),b)
在这里插入图片描述
定义:列表是一个可修改的,元素以逗号分割,以中括号包围的有序序列
a = [1,‘a’,‘b’]
print(a[0],a[1],a[2])
print(a[0],a[1],a[2],a[3])
在这里插入图片描述
len :计算长度
a = [1,‘a’,‘b’,‘c’]
x = len(a)
print(“长度:”,x)

i = 0
while i<len(a):
print(“第”,i+1,“个值是:”,a[i])
i += 1
在这里插入图片描述
相加,重复
a = [1,2]
b = [3,4]
c = a + b
print©

d = a*3
print(d)
在这里插入图片描述
a = [‘a’,‘b’,2,3]
for i in range(len(a)):
print(a[i])
在这里插入图片描述
切片
a = [1,2,3,4,5,6,7]
b = a[2:5] # 第三个到第五个
print(b)

a = [‘a’,‘b’,‘c’,1,2,3,4,5]
b = a[2:7:2] # 起始值,终值,步长
print(b)
在这里插入图片描述
倒着输出
a = [‘a’,‘b’,‘c’]
for i in range(-1,-len(a)-1,-1):
print(i,a[i])
在这里插入图片描述

a,b = [1,2]
print(a,b)

a,*b = [1,2,3]
print(a)
print(b)
在这里插入图片描述

a= [1,2]
print(a,b)
a,*b = [1,2,3]
print(a)
print(b)
a= [3,1,2,3,4,3,6,7]
b = [3,4]
a.append(9)
print(a)
a.extend(b)
print(a)
+生成新的值
extend改变了a,没有生成新的值
a.insert(2,‘a’) # 2是索引,在那插入’a’
print(a)
b = a.pop(2) # 括号里面没有弹出的是最后一个,括号里面有索引弹出的是b
print(a,b)

a= [3,1,2,3,4,3,6,7]
a.remove(3) # 3不是下标,是元素,移除第一个三
print(a)

a= [1,2,3,4,3,6,7]
del a[2] # 删除第三个元素,2是索引
print(a) # [1, 2, 4, 3, 6, 7]

a= [1,2,3,4,3,6,7]
a[3]=99 # 修改,3是索引,
print(a) # [1, 2, 3, 99, 3, 6, 7]

a= [1,2,3,4,3,6,7]
a.reverse() # 倒过来(反转)
print(a) # [7, 6, 3, 4, 3, 2, 1]

a= [1,2,3,4,3,6,7]
a.sort() # 排序
print(a) # [1, 2, 3, 3, 4, 6, 7]

a= [1,2,3,4,3,6,7]
b = sorted(a) # 对a进行排序,每改变a里面的东西,生成一个新的列表
print(b)

a= [1,2,3,4,3,6,7]
a.sort(reverse = True) # 降序
print(a) # [7, 6, 4, 3, 3, 2, 1]

a = 3 # 交换,加一个中间变量
b= 4
t = a
a = b
b = t
print(a,b)

a = [1,2,3,4,1,1,3]
b = a.count(3) # 计数,括号里面是元素
print(b) # 2

x = a.index(4) # 返回第一个值的索引
print(x) # 3

a = [[1,2,3],[4,5,6,7],[8,9]]
for x in a:
print(x)
[1, 2, 3]
[4, 5, 6, 7]
[8, 9]
for y in x:
print(y,end=",")
print() # 换完一整个列表换行
print(a[0][2],a[1][2],a[2][1]) # 3 6 9

a = [1,2,3]
b = a
a.append(4)
print(a) # [1, 2, 3, 4]
print(b) # [1, 2, 3, 4]

a = 3
b = a
a = 5
print(b,a) # 3 5

a = 3 # id用于获取对象的内存地址
b = 3 # 只要id一样,地址一样,这两个变量就一样
print(ab) # True
print(a is b) # True
print(id(a)) # 8791307805392
print(id(b)) # 8791307805392
a = ‘abc’
b = ‘abc’
print(a
b) # True
print(a is b) # True
print(id(a)) # 30799776
print(id(b)) # 30799776

a = [1,2,3]
b = [1,2,3]
print(a == b) # True 值相等
print(a is b) # False 地址不相等
print(id(a)) # 30237320
print(id(b)) # 30237384

import copy
a = [1,2,3,[4,5],6]
b = a
c = copy.copy(a) # 浅拷贝不彻底,还有一块指向原来的内容
d = copy.deepcopy(a) # 深拷贝
a.append(7)
a[3].append(99)

print(a) # [1, 2, 3, [4, 5], 6] # [1, 2, 3, [4, 5], 6, 7] # [1, 2, 3, [4, 5, 99], 6, 7]
print(b) # [1, 2, 3, [4, 5], 6] # [1, 2, 3, [4, 5], 6, 7] # [1, 2, 3, [4, 5, 99], 6, 7]
print© # [1, 2, 3, [4, 5], 6] # [1, 2, 3, [4, 5], 6] # [1, 2, 3, [4, 5, 99], 6]
print(d) # [1, 2, 3, [4, 5], 6] # [1, 2, 3, [4, 5], 6] # [1, 2, 3, [4, 5], 6]

print(id(a)) # 36975368
print(id(b)) # 36975368
print(id©) # 37051016
print(id(d)) # 37645064

元组
元组是一个不可修改的,元素以逗号分隔的以小括号包围的有序序列,
可以将元组看成一个不可修改的列表。
格式:
变量名=(元素 1,元素 2,…)

a = (1,2,3)
print(a,type(a))
print(a[0])
a[0] = 9 # 元组不支持修改,支持访问

a = (1,2,3)
for x in a:
print(a)

i=0
while i <len(a):
print(a[i])
i += 1

a = (1,2,3,4)
print(a[2::1]) # 可切片 (3, 4)

a = (3,4)
b = (1,2)
c = a+b
print© # (3, 4, 1, 2)
d = a*2
print(d) # (3, 4, 3, 4)

a,b,c = (1,2,3)
print(a)
print(b,c)
a,*b = (1,2,3)
print(a,b) # 1 [2, 3]

a = (1,2,3,[4,5])
a[3].append(9)
print(a) # (1, 2, 3, [4, 5, 9])元组不能修改,元组里面的列表可以

强制类型转换
a = [1,2,3]
b = tuple(a)
print(b) # (1, 2, 3)
c = list(b)
print© # [1, 2, 3]

a = (‘a’,‘b’,‘c’)
b = a.index(‘b’)
print(b) # 1
a = (‘a’,‘b’,‘c’,‘e’)
b = a.index(‘b’,1,2) # 后面的1,2是索引范围
print(b) # 1

a = ((“张三”,19),(“李四”,20),(“王五”,30))

for x in a:
print(x)
(‘张三’, 19)
(‘李四’, 20)
(‘王五’, 30)
for x,y in a:
print(x,y)
张三 19
李四 20
王五 30
a,b = (1,2)
print(a,b) # 1 2

a = (11,12,12,‘a’)
for x in enumerate(a): # 列举
print(x) # 在外面加了一个索引
(0, 11)
(1, 12)
(2, 12)
(3, ‘a’)

求和
a = (1,2,3,4,5,6)
he = 0
i = 0
while i < len(a):
he += a[i]
i += 1
print(he) # 21

个位为7或能被七整除
a = (1,2,3,4,5,6,7,8,9,10,14)
gs = 0
for x in a:
if x%7==0 or x%10 == 7:
gs += 1
print(x,“是”)
print(gs)
7 是
14 是
2

a = (1) # 当括号里面只有一个元素要加逗号才表示元组 a=(1,)
print(type(a)) # <class ‘int’>

a = 1,2
print(type(a)) # <class ‘tuple’> 可以不加括号

计算奇偶数个数
a = (1,2,3,4,5,6,7,8,9,10,14)
js = 0
os = 0

for x in a:
if x%2==0:
os+=1
else:
js+=1
print(os,js)

a = (1,2,3,4,5,6,7,8,9,10,14)
js = 0
os = 0
i = 0

while i < len(a):

if a[i]%2 == 0:
    os+=1
else:
    js+=1
i += 1

print(js,os)

最大值最小值和其下标
a = (1,3,2,5,4,9,7)
max=a[0]
max_xb = 0
min=a[0]
min_xb = 0
i = 0
while i <len(a):
if a[i]>max:
max = a[i]
max_xb = i
elif a[i]<min:
min = a[i]
min_xb = i
i+=1
print(max,max_xb)
print(min,min_xb)

上半年大件业绩:
[1,2,3,3,2,5]
上半年小件业绩:
[11,22,8,7,5,9]
求上半年每个月的业绩:
a = [1,2,3,3,2,5]
b = [11,22,8,7,5,9]
i = 0
c = []

while i<len(a):
d = a[i]+b[i]
c.append(d)
i+=1
print© # [12, 24, 11, 10, 7, 14]

a = [1,2,3,4,5,6]
t = a[0]
i = 0
while i<len(a)-1:
a[i]=a[i+1]
i+=1
a[i]=t
print(a)

电梯模型
import time
a = [1,2,3,4,5,6]
while True:
t = a[0]
i = 0
while i<len(a)-1:
a[i]=a[i+1]
i+=1
a[i]=t
print(a)
time.sleep(1)

a = [1,2,3,4,5,6]
i = 0
while i < len(a)//2:
t = a[i]
a[i]=a[len(a)-1-i]
a[len(a)-1-i]=t
i+=1
print(a) # [6, 5, 4, 3, 2, 1]

a = [1,2,3,4,5,6]
i = 0
j = len(a)-1
while i<j:
t = a[i]
a[i]=a[j]
a[j]=t
i+=1
j-=1
print(a) # [6, 5, 4, 3, 2, 1]

a = 3
b = 4
a,b = b,a
print(a,b)

a = [1,2,3,4,5,6]
i = 0
j = len(a)-1

while len(a)//2>3:
c = a[i]
d = a[j]
c,d = d,c
print(c,d)

a = [1,2,3,4,1,2,5,1,1,2]
b = [1,2]

index = 0
count = 0
while index < len(a):
if b[0]==a[index] and b[1]==a[index+1]:
count += 1
index += 1
print(coun

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值