Python中的列表与元组讲解

列表与元组

列表与下标

  • 列表是python中最基本的数据结构
  • 列表中可以包含任意多个数据元素
  • 列表中的元素使用下标表示它们的顺序
a=[] #空列表                             列表中下标与字符串下标的用法一样
b=[1,3.15,"D",True]
#print(b[2])  #D
b[2]="C"
print(b) #[1,3.15,"C",True]
#列表是一个可变数据类型

列表简单使用

  • 使用in 或 not in 判断列表是否包含某个元素 12 in xuqi
  • 使用len()函数获取列表中元素的个数 len(xuqi)
  • 使用加法 + 拼接两个列表 xuqi=xu+qi
  • 使用乘法 * 重复两个列表 xuqi=xu*3
  • 使用reverse()方法反序某个列表 xuqi.reverse()
  • 使用max()函数获取列表中最大的元素 max(xuqi)
  • 使用min()函数获取列表中最小的元素 min(xuqi)
  • 使用sort()方法排序某个列表 xuqi.sort()
(1)xuqi=[1,2,3,6,7,8,9]                 (2)xuqi=[1,2,3,6,7,8,9]
if 5 in xuqi:                              print(len(xuqi))
    print("这个里面有5")                    #7
else:          
    print("这个里面没有5")               (4) xuqi=[1,2,3,6,7,8,9]
 #这个里面没有5                              a=xuqi*2
                                            print(a)
 (3)xuqi=[1,2,3,6,7,8,9]                    #[1, 2, 3, 6, 7, 8, 9, 1, 2, 3, 6, 7, 8, 9]
xu=["a","c","s"]
a=xuqi+xu                               (6)xuqi=[1,2,3,6,7,8,9]
print(a)                                   x=max(xuqi)
#[1, 2, 3, 6, 7, 8, 9, 'a', 'c', 's']      print(x)  
                                           #9
(5)(1)xuqi=[1,2,3,6,7,8,9]
xuqi.reverse() #a变了                   (7)xuqi=[1,2,3,6,7,8,9]
print(f"xuqi={xuqi}")                      x=min(xuqi)
#xuqi=[9, 8, 7, 6, 3, 2, 1]                print(x)
                                           #1
(5)(2)xuqi=[1,2,3,6,7,8,9]
c=xuqi[::-1]   #a不变c变                (8)xuqi=[1,2,6,4,7,9,8]
print(c)                                   xuqi.sort()
#[9, 8, 7, 6, 3, 2, 1]                     print(f"xuqi={xuqi}") #xuqi=[1, 2, 4, 6, 7, 8, 9]

修改查找元素

  • 查找指定内容首次出现的下标 xuqi.index(“Hi”) rindex()最后出现的下标
  • 查找指定内容出现的次数 xuqi.count(6)
  • 字符串分割,把字符串变成一个列表 xuqi.split()
  • 把所有的元素拼接在一起组成一个字符串 xuqi=",".join(xu)
xuqi=[1,2,3,4,5,6,7,8,9]                xuqi=[1,2,3,4,4,4,4,5,6,7]
print(xuqi.index(5))                    print(xuqi.count(4))
#4                                      #4

xuqi=[1,2,3,4,4,4,4,5,6,7,8,9]          xuqi=["周一","周二","周三","周日","周五","周六","周四"] 
xuqi[5]=15                              xuqi[3],xuqi[6]=xuqi[6],xuqi[3]
print(xuqi)                             print(xuqi)
#[1, 2, 3, 4, 4, 15, 4, 5, 6, 7, 8, 9]  #['周一', '周二', '周三', '周四', '周五', '周六', '周日']
#这是下标修改                            #下标赋值替换

xuqi="周一,周二,周三,周日,周五,周六,周四"
xu=xuqi.split(",")
print(xu)
#['周一', '周二', '周三', '周日', '周五', '周六', '周四']
xuqi=",".join(xu)
print(xuqi)
#周一,周二,周三,周日,周五,周六,周四

增加元素

  • 向列表末尾添加新元素5 xuqi.append(5)
  • 向下标为1的位置插入元素"Hi" xuqi.insert(1,“Hi”)
  • 在列表末尾追加多个元素 xuqi.extend([5,6,7])
xuqi=[1,2,3,4]
xuqi.append(5)
print(xuqi)
xuqi.insert(1,"XIXI")
print(xuqi)
xu="Hello"         没加[]它会把字符串拆成一个个字符串打印出来
xuqi.extend(xu)
print(xuqi)
xuqi.extend([xu])   加了[]它就是一个列表整体,会直接打印出来
print(xuqi)

#[1, 2, 3, 4, 5]
#[1, 'XIXI', 2, 3, 4, 5]
#[1, 'XIXI', 2, 3, 4, 5, 'H', 'e', 'l', 'l', 'o']
#[1, 'XIXI', 2, 3, 4, 5, 'H', 'e', 'l', 'l', 'o', 'Hello']

删除元素

  • 移除最后一个元素xuqi.pop()
  • 移除指定下标位置的元素xuqi.pop(5) or del.xuqi[5]
  • 移除指定的内容remove(“b”)
  • 清空列表xuqi.clear()
    xuqi=[1,2,3,4,5,6]
    xuqi.pop()
    print(xuqi)
    xuqi.pop(2)
    print(xuqi)
    del xuqi[0]
    print(xuqi)
    xuqi.remove(2)
    print(xuqi)
    
    #[1, 2, 3, 4, 5]
    #[1, 2, 4, 5]
    #[2, 4, 5]
    #[4, 5]
    
    xuqi=[1,2,3,4,5,6]
    xuqi.clear()
    print(xuqi)
    
    #[]
    

元组(Tuple)

  • 元组也是一种有序容器
  • 元组也可以使用下标索引元素,也可以截取
  • 元组是不可变类型,不可以增删改,只可以查
  • 如果我们创建只含有一个元素的元组,我们必须在这仅有的一个元素后加上一个",",不加它就是整型
xuqi=(1,2,3)
#这是一个元组,可以把括号去掉也是一个元组,xuqi=1,2,3

xuqi=(1,)            不加,xuqi=(1)
print(type(xuqi))    print(type(xuqi))
#<class 'tuple'>    # <class 'int'>
  • rpartition() 方法类似于 partition() 方法,只是该方法是从目标字符串的末尾也就是右边开始搜索分割符。。
    如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
  • partition() 方法用来根据指定的分隔符将字符串进行分割。
    如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串

列表嵌套

  • 列表List中可以存放任意类型的元素
  • 列表中的元素也可以是列表List类型
xuqi=[[1,2,3],["sa","ku","ra"],["sadadd"]]
print(xuqi[1])
print(xuqi[1][2])

#['sa', 'ku', 'ra']
#ra

列表练习

#创建一个有10个元素的列表,值是[30,31,30,31...]
#将下标为0的元素删除
#将下标为1的元素改成28
#在下标为7的位置插入一个元素为31
#在列表末尾追加2个元素:30,31
#最终结果应该是[31,28,31,30,31,30,31,31,30,31,30,31]

xuqi=[30,31]*5
xuqi.pop(0)
xuqi[1]=28
xuqi.insert(7,31)
xuqi.extend([30,31])
print(xuqi)
#[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

#提示用户输入一个1-12之间的整数值表示月份
#然后在控制台显示用户输入的这个月份有多少天
#比如用户输入的数是7,就显示"7月份有31天"
xu=input("请输入一个1-12之间的整数值表示月份:")
xu=int(xu)
print(f"你输入的月份是{xu}月,有{xuqi[xu-1]}天")
#请输入一个1-12之间的整数值表示月份:
#输入5
#你输入的月份是5月,有31天(天数接上一个例子)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值