初学Python Day3

数据容器-一种可以存储多个元素的Python数据类型

划分为5类:list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)

列表(可存不同数据类型)

定义语法:[ 元素1,元素2,元素3] 作为标识  中间,进行分隔

元素类型无限制、可容纳多个元素、有序存储(下标索引)、允许重复数据存在、可以修改

my_list=["ufrfefief","dddd","ssy"]
print(my_list)
print(type(my_list))            #class 'list'
#不同类型
my_list=["sssss",999,True]
print(my_list)
print(type(my_list))

#嵌套列表
my_list=[[1,2,3],[2,3,4],[4,4]]
print(my_list)
print(type(my_list))

列表的下标索引:取出特定位置的数据

从0开始,依次递增(正向索引 ,从左到右)            反向索引,从右到左依次为-1,-2,-3....

my_list=["Tom","deid","dijdie"]
#下标索引,从左至右,0开始每次加1
print(my_list[0])
print(my_list[1])
print(my_list[2])
#不能超过可用范围
#print(my_list[3])    #会报错
#反向索引
print(my_list[-1])
print(my_list[-2])
print(my_list[-3])       #输出为“dijdie”,“deid","Tom"
#取出嵌套列表的元素
my_list=[[1,2,3],[4,5,6]]
my_list[1][1]      #会取出5,第二个列表的第二个数

列表的方法:

方法和函数的功能相同,有传入参数,有返回值,但使用格式不同

函数   def add(x,y)                           方法 class Student

            return x+y                                               def add(self,x,y)

                                                                                  return x+y

函数的使用:   num= add(1,2)

方法的使用:student=Student()

                      num=student.add(1,2)

列表的常用操作方法:

①查询语法:列表.index(元素)

②插入语法:列表,insert(下标,元素)

③追加语法:语法1:列表.append(元素)

                      语法2:列表.extend(其他数据容器)

④删除语法:语法1:del 列表[ 下标]

                      语法2:列表.pop(下标)

  删除某元素在列表中的第一个匹配项       语法:列表.remove(元素)

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

⑥统计某元素在列表中的数量:列表.count(元素)

⑦统计列表元素总共数量:len(列表)

#1.列表-查询
#1.1查找某元素在列表内下标索引
mylist=["dei","wji","indein"]
index=mylist.index("dei")
print(f"dei在列表中的下标索引为:{index}")             #0
#1.2如被查找的元素不存在,会报错
#index=mylist.index("Hello")
#print(f"Hello在列表中下标索引为:{index}")           #报错
#2.修改特定位置的元素的值
mylist[0]="huhuhu"
print(f"列表被修改后,结果为{mylist}")
#3.插入元素-在指定下标位置插入指定元素
mylist.insert(1,"yu")
print(f"列表插入元素后结果是{mylist}")
#4.追加元素,添加到列表的最后位置
mylist.append("程序猿")
print(f"在列表后追加了元素后的结果是{mylist}")
#5.在列表尾部追加一批新元素
mylist2=[1,2,3]
mylist.extend(mylist2)
print(f"在列表后追加一批新元素,结果为{mylist}")
#6.删除元素(方法1)
mylist=["dei","wji","indein"]
del mylist[2]                #仅完成删除
print(f"删除后的结果是{mylist}")
#方法2
mylist=["dei","wji","indein"]
element=mylist.pop(2)       #得到了返回值,同时该元素从列表中移除
print(f"通过pop方法取出元素后的列表为{mylist},取出的元素是:{element}")
#7.删除某元素在列表中的第一个匹配项
mylist=["ddddd","hhhh","ddddd","hhhh","python"]
mylist.remove("ddddd")          #第一个ddddd被删掉  只能删掉一个
#8.清空列表
mylist.clear()
print(f"列表清空后的结果为{mylist}")
#9.统计某元素在列表中的数量
mylist=["ddddd","hhhh","ddddd","hhhh","python"]
count=mylist.count("ddddd")
print(f"列表中ddddd的数量为{count}")
#10.统计列表元素总数
mylist=["ddddd","hhhh","ddddd","hhhh","python"]
count=len(mylist)
print(f"列表的元素数量总共有{count}个")

案例:

mylist=[21,25,21,23,22,20]     #定义列表并用变量进行接收
mylist.append(31)              #追加一个数字到尾部
mylist2=[29,33,30]
mylist.extend(mylist2)         #追加一个新列表到尾部
print(mylist[0])          #21  取出第一个元素
print(mylist[8])          #33  取出最后一个元素
mylist.index(31)          #查找元素31,在列表中的下标位置

list列表的遍历-while循环、for循环

def list_while_func():                  #while循环
    my_list=["ddd","sss","ppp"]
    #循环控制变量通过下标索引控制,默认0
    #每次循环将下标索引+1
    #循环条件:下标索引变量<列表的元素数量
    #定义一个变量用来标记列表的下标
    index=0    #初始值为0
    while index < len(my_list):
        # 通过index变量取出对应下标的元素
        element=my_list[index]
        print(f"列表的元素:{element}")
        index += 1
list_while_func()       #调用函数


def list_for_func():
    my_list=[1,2,3,4,5]
    for element in my_list:
        print(f"列表的元素有:{element}")
list_for_func()

对比:  在循环控制上:while循环可自定循环条件,for循环不可自定循环条件

             在无限循环上:while循环可以实现无限循环,for不可(被遍历的容器容量不是无限的)

             在使用场景上:while适用于任何想要循环的场景   for循环适用于遍历数据容器的场景或简单的固定次数循环场景

案例:取出列表的偶数

my_list=[1,2,3,4,5,6,7,8,9,10]
index=0
my_list2=[]
while index<len(my_list):          #采用while循环
    element=my_list[index]
    if element % 2== 0:
        my_list2.append(element)
    index+=1
print(f"其中偶数组成新列表:{my_list2}")
my_list2=[]
for element in  my_list:           #采用for循环
    if element%2==0:
        my_list2.append(element)
    index+=1
print(f"其中偶数组成新列表:{my_list2}")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值