学习周记2022/9/30
在python中,序列包含以下几个部分:序列、列表、元组、集合、字典。
(本文仅顺带一些基础知识,具体内容百度上或教科书上有很多,请自行搜索)
一、基础语法和知识
序列:用于存放多个值的连续内存空间,并且按照一定的顺序排列。 序列中的每一个元素都有一个编号
举例:
a = [ "老大" , "老二" , "老三" , "老四" , "老五" , "老六" ]
在序列a中,"老大"为元素一,并且索引下标为0;同理可得,"老二"为元素二,并且索引下标为1;"老三"为元素三,并且索引下标为2....
检索序列中的元素:
verse = [ "鼠标" , "键盘" , "耳机" , "显示器"]
print(verse[-1])
print(verse[2])
负几就是倒数第几个,而正数,则从0开始数。
运行结果为:
切片:访问序列中元素的另一种方法,可以访问一定范围内的元素。
语法格式: sname [ start : end : step ]
sname:表示序列的名称
start:表示切片的开始位置(包括该位置),如果不指定,则默认为0
end:表示切片的截至位置(不包括该位置),如果不指定,则默认为序列的长度
step:表示切片的步长 ,若省略,则默认为1,当省略该步长时,最后一个冒号也可以省略
举例:
a = [ "鼠" , "牛" , "虎" , "兔" , "龙" , "蛇" , "马" , "羊" ]
#鼠为0号元素,牛为1号元素....羊为第七号元素
print(a[1:5]) #输出从1号元素到5号元素(但是不包括5号元素)
print(a[0:5:2])#从0号元素开始每隔两个字符输出一次,直到5号元素结束(不包括5号元素)
print(a[::2])#从0号元素开始每隔两个字符输出一次,默认直到最后一个元素结束
print(a[::-2])#从最后一个元素开始往前每隔两个字符输出一次,默认直到第一个元素结束
print(a[::-1])#从最后一个元素开始往前每隔一个字符输出一次,默认直到第一个元素结束
print(a[:])#输出每一个元素,默认步长为一
输出结果:
序列加法:在Python中,支持两种相同类型的序列相加操作,即将两个序列进行连接,不会去除重复的元素,使用加(+)运算符实现。
举例:
a = ["周" , "吴" , "郑" , "王"]
c = ["冯" , "陈" , "楚" , "魏"]
print(a + c)
num = [7 ,14 ,32]
b = ["赵","钱","孙","李"]
print(num + b)
序列乘法:使用数字n乘以一个序列会生成新的序列,新序列的内容为原来序列被重复n次的结果。
a = ["小明"]
print(a*3)
常用函数:
len()函数计算序列的长度,返回序列包含多少个元素;
max()函数:返回序列中的最大元素;
min()函数:返回序列中的最小元素。
分割字符串
格式:str.split ( sep , maxsplit )
str:表示要进行分割的字符串
sep:用于指定分隔符,可以包含多个字符,默认为None,即所有空字符
maxsplit:可选参数,用于指定分割的次数
合并字符串
格式:strnew=string.join(iterable)
strnew:表示合并后生成的新字符串
string:字符串类型,用于指定合并时的分隔符
iterable:可迭代对象,该迭代对象中的所有元素将被合并为一个新的字符串
二、几个题
1 给定字符串a="I LOVE study", 将a中的大写字母转换成小写,其它字符不变,并输出。
a="I LOVE study"
s = ''
for i in a:
if i >= 'A' and i <= 'Z':
s += i.lower()
else:
s += i
print(s)
2 设列表 a = ["hello", "hi", "thanks", "classroom"],找出列表中单词最长的一个。
def test():
a = ["hello", "world", "yoyo", "congratulations"]
length = len(a[0])
for i in a:
if len(i) > length:
length = i
return length
print(test())
3 截取身份证号码中的生日日期
id = str(input("输入身份证号码:"))
year = id[6:10]
month = id[10:12]
day = id[12:14]
print("生日:","%s年%s月%s日"%(year,month,day))
4 输入多少秒,把它换算为几天几小时几分钟
#秒数转换(不用函数)
seconds = int(input("秒数:"))
day=seconds//86400
h=(seconds-day*86400)//3600
m=(seconds-day*86400-h*3600)//60
s=(seconds-day*86400-h*3600-m*60)
print(day,"天",h,"小时",m,"分钟",s,"秒")
#用函数
def time (seconds):
day=seconds//86400
h=(seconds-day*86400)//3600
m=(seconds-day*86400-h*3600)//60
s=(seconds-day*86400-h*3600-m*60)
return [day,h,m,s]
a = int(input("秒数:"))
print(time (a))
几个常用操作:
修改元素
a = ["农夫山泉" , "怡宝" , "恒大冰泉"]
a[2] = "百岁山"
print(a)
删除元素
a = ["农夫山泉" , "怡宝" , "恒大冰泉"]
del a[1]
print(a)
统计列表值元素的和
a = [1 , 3 , 5 , 7 , 9]
total = sum(a)
print(total)
对列表内容进行排序
a = ["cat" , "Tom" , "Angela" , "pig"]
a.sort()
print("区分大小写",a)
a.sort( key = str.lower)
print("不区分大小写",a)