Python基础知识 之 序列、列表、字符串

学习周记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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值