Python列表元组基础

Python列表元组基础,第1张

Python列表基础
        • 列表的应用场景
        • 格式
        • 常用 *** 作
          • 查找
            • len()
            • 下标
            • index()
            • count()
          • 判断
            • in
            • not in
          • 增加
            • append()
            • extend()
            • insert()
          • 删除
            • del
            • pop()
            • remove()
            • clear()
          • 修改
            • reverse()
            • sort()
            • sorted()
          • 复制
            • copy()
            • 切片法
        • 循环遍历
            • while
            • for
      • 元组
        • 元组的应用场景
        • 格式
        • 常见 *** 作
          • 修改
          • 查找
            • len()
            • 下标
            • index()
            • count()
          • 删除
            • del
        • 遍历循环
            • while
            • for

列表的应用场景

思考:有一个人的姓名,怎么书写存储程序?

答:变量。

思考:如果一个班级100位学生,每个人的姓名都要存储,应该如何书写程序?声明100个变量吗?

答:列表即可, 列表一次性可以存储多个数据。

格式
变量名=[数据1, 数据2, 数据3, 数据4......]
  • 列表可以一次性存储多个数据,且可以为各种不同数据类型。
常用 *** 作
  • 列表的作用是一次性存储多个数据,程序员可以对这些数据进行的 *** 作有:增、删、改、查。
查找 len()
  • 返回列表长度,即列表中数据的个数。
len(list)
下标
  • 与字符串下标一样的规则
  • 也可切片获得一个新的子列表

如:

holidays=["4.30","5.1","5.2","5.3","5.4"]

print(f"五一假期:{holidays}")
print(f"五一假期的第一天:{holidays[0]}")
print(f"五一假期的最后一天:{holidays[4]}")

index()
  • 语法
list.index(value, begin, end)
  • 返回指定数据所在位置的下标 。如果查找的数据不存在则报错。
  • begin,end,规定查找范围:[begin,end)

如:

animals=["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]

index=animals.index("猴")
print(f"猴的下标:{index}")
index=animals.index("猴",0,8)
print(index)

count()
  • 统计指定数据在当前列表中出现的次数。
list.count(value)
判断 in
  • 判断指定数据是否在某个列表中,如果在返回True,否则返回False
answer=["A","B","C","D"]

while(True):
    x=input("A\tB\tC\tD\n请输入您的答案:")
    if x in answer:
        print("已成功提交答案!")
        break
    else:
        print("不在选项范围内,请重新答题!")

not in
  • 判断指定数据是否在某个列表序列,如果不在返回True,否则返回False
answer=["A","B","C","D"]

while(True):
    x=input("A\tB\tC\tD\n请输入您的答案:")
    if x not in answer:
    	print("不在选项范围内,请重新答题!") 
    else:
        print("已成功提交答案!")
        break
增加
  • 作用:增加指定数据到列表中。
  • 对列表本身进行 *** 作, *** 作之后改变了列表的内容
append()
  • 在列表结尾追加单个数据

  • 如果这个数据是序列(list、tuple、dict),也把它当成整体添加到列表中。

  • 语法

list.append(value)

names=["张三","李四"]
print(names)
names.append("王二麻子")
print(names)
names.append(["琪琪","恰恰","蹦蹦","拉拉"])
print(names)

extend()
  • 列表结尾追加数据,如果数据是一个序列,则将这个序列拆散,逐一添加到列表中。
  • 语法
list.extend(数据)

如:

names=["张三","李四"]
print(names)
names.extend("赵钱孙李")
print(names)
names.extend(["琪琪","恰恰","蹦蹦","拉拉"])
print(names)

insert()
  • 指定位置新增数据。
  • 语法
list.insert(index, value)
删除 del
  • 语法
del list/list[index]
  • 删除整个列表
holidays=["4.30","5.1","5.2","5.3","5.4"]

print(f"五一假期:{holidays}")

  • 删除指定数据
holidays=["4.30","5.1","5.2","5.3","5.4"]

del holidays[3]
del holidays[3]
print(f"五一假期:{holidays}")

pop()
  • 删除指定下标的数据(默认为最后一个),并返回该数据。一般用变量接受返回的数据,进行相应 *** 作。

  • 语法

popped=list.pop(index)

如:

holidays=["4.30","5.1","5.2","5.3","5.4"]

gone=holidays.pop()
print(f"{gone}照常上课")
gone=holidays.pop(-1)
print(f"{gone}照常上课")
print(f"五一假期:{holidays}")

remove()
  • 移除列表中某个数据的第一个匹配项。

  • 语法

list.remove(value)

如:

my_game=["bug","bug","bug","bug","bug","bug"]
print(my_game)
my_game.remove("bug")
print(my_game)
my_game.remove("bug")
print(my_game)

clear()
list.clear()
  • 清空列表,得到空列表[]

holidays=["4.30","5.1","5.2","5.3","5.4"]

holidays.clear()
print(f"五一假期:{holidays}")

修改
  • 修改指定下标数据
list[index]=new_value

如:

my_game=["bug","bug","bug","success","bug","bug"]
print(my_game)
my_game[3]="bug"
print(my_game)

reverse()
  • 倒置列表

如:

weights=[50,49,48,47,46,45]

print("体重变化:",end=" ")
for weight in weights:
    print(f"{weight}kg",end=" ")

print()

weights.reverse()
print("体重变化:",end=" ")
for weight in weights:
    print(f"{weight}kg",end=" ")

sort()
  • 可对列表进行排序

  • 语法

list.sort(key=None, reverse=False)
  • key 可选,为自定义函数,可指定排序标准

  • reverse可选,默认为升序,若指定为True则降序

  • 字符串默认按字符码大小排序

如:

nums=[10,2,4,3,6,78]

nums.sort()
print(nums)

nums.sort(reverse=True)
print(nums)

sorted()
  • 对列表的拷贝进行排序,返回一个排完序的新列表
  • 语法:
sorted(list,key=None, reverse=False)
  • 语法细节同sort()
复制 copy()
copy_list=list.copy()
  • 返回list的拷贝
切片法
copy_list=list[:]
循环遍历 while
nums=[1,2,3,4,5,6]

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

for i in range(len(nums)):
    print(nums[i])

#或者
for num in nums:
    print(num)

元组 元组的应用场景
  • 思考:如果想要存储多个数据,但是这些数据是不能修改的数据,怎么做?

  • 答:列表?列表可以一次性存储多个数据,但是列表中的数据允许更改。

num_list = [10, 20, 30]
num_list[0] = 100
  • 一个元组可以存储多个数据,元组内的数据是不能修改的
格式
变量名=(数据1, 数据2, 数据3, 数据4......)
  • 元组特点:定义元组使用小括号,且逗号隔开各个数据,数据可以是不同的数据类型。
# 多个数据元组
rgb = (0, 255, 255)

# 单个数据元组
name= ("Lily",)

#空元组
none=()
  • 如果定义的元组只有一个数据,那么这个数据后面也好添加逗号,否则数据类型为唯一的这个数据的数据类型
t1 = (10,)
print(type(t1))  # tuple

t2 = (20)
print(type(t2))  # int

t3 = ('hello')
print(type(t3))  # str
常见 *** 作 修改
  • 元组内的直接数据不支持修改。

  • 元组内的直接数据如果修改则立即报错

    tuple1 = ('aa', 'bb', 'cc', 'bb')
    tuple1[0] = 'aaa'
    

    但是如果元组里面有列表,修改列表里面的数据则是支持的。

    tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30)
    print(tuple2[2])  # 访问到列表
    
    tuple2[2][0] = 'aaaaa'
    print(tuple2)
    # 结果:(10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)
    
  • 可以对整个元组变量重新赋值

rgb=(6,6,6)
rgb[0]=66  #不行
rgb=(66,6,6)  #行
查找 len()
  • 统计元组中数据的个数。
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(len(tuple1))  # 4
下标
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1[0])  # aa
print(tuple1[0:2])  #(aa,bb)
index()
tuple.index(value)
  • 查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index方法相同。
count()
  • 统计某个数据在当前元组出现的次数。
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.count('bb'))  # 2
删除 del
  • 语法
del tuple
  • 只能删除一整个元组;不支持像列表那样删除单个数据
遍历循环 while
months=(1,2,3,4,5,6,7,8,9,10,11,12)

i=0
while i<len(months):
    print(mouths[i])
    i+=1
for
months=(1,2,3,4,5,6,7,8,9,10,11,12)

for i in range(len(months)):
    print(months[i])

#或者
for month in months:
    print(month)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/868487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存