Python学习(11)之列表

本文详细介绍了Python列表的基础知识,包括索引、切片、重复、连接和成员操作符等概念。接着深入探讨了如何增加、删除、修改和查看列表元素,以及排序方法。最后提供了四个练习题,涵盖列表操作的常见应用场景。

一、Python中的列表

Python中最基本的数据结构列表,列表可写为方括号之间的逗号分隔值列表

  • 一个列表的每个元素被分配一个数字来表示他的位置或索引。第一个索引为0,第二个索引为1。
  • Python列表的数据项不必是相同的类型,可以存储任意数据类型
    在这里插入图片描述

1、索引

# 列表中的第一个值
list1[0]
# 列表中的最后一个值
list1[-1]

在这里插入图片描述

2、切片


# 最后一个元素之前的所有元素
list2[:-1]
# 从索引值为1的元素开始的后面所有元素
list2[1:]
# 倒序
list2[::-1]
# 索引值为1的元素和2的元素
list2[1:3]

在这里插入图片描述

3、 重复

在这里插入图片描述

4、连接

在这里插入图片描述

5、成员操作符

在这里插入图片描述

在这里插入图片描述

二、对列表元素的操作

在这里插入图片描述

在这里插入图片描述

1、增加列表元素

(1)增加(追加一个元素)
append():追加一个元素到列表

在这里插入图片描述

在这里插入图片描述

(2)拉伸(追加多个元素)
extend():拉伸 追加多个元素到列表

在这里插入图片描述

在这里插入图片描述

(3)插入(在指定索引处插入元素)
insert(索引值,元素) :在指定索引值位置插入元素

在这里插入图片描述
在这里插入图片描述

2、删除列表元素

(1)remove 删除指定元素

在这里插入图片描述
在这里插入图片描述

(2)del 直接从内存中删除

在这里插入图片描述
在这里插入图片描述

3、列表的修改

(1) 通过切片,重新赋值

在这里插入图片描述

(2)通过索引 重新赋值

在这里插入图片描述

4、列表的查看

(1)查看元素出现的次数
count():查看元素出现的次数

在这里插入图片描述

在这里插入图片描述

(2)查看指定元素的索引值
index():查看指定元素索引值

在这里插入图片描述

在这里插入图片描述
可以设定索引范围,1,3即从1开始

在这里插入图片描述

5、列表中元素的排序方法

(1)sort() [ python中内置的方法]
  • 一般排序的方法sort(),属于python中内置的方法,前提是列表中的元素属于同一种类型的函数
    在这里插入图片描述

执行结果,默认按ASCII值大小+首字母顺序,从小到大排列,大写字母的ASCII值小,小写字母的ASCII值大

在这里插入图片描述

(2)乱序输出列表
random.shuffle():乱序输出列表

在这里插入图片描述
在这里插入图片描述

三、练习

1、输出:I have fentiao, fendai, fensi and apple.

在这里插入图片描述在这里插入图片描述

names = ['fentiao','fendai','fensi','apple']
print(f'I have {names[0]},{names[1]},{names[2]} and {names[3]}.')

在这里插入图片描述

2、判断:某天是这一年的第几天

在这里插入图片描述

input = input('请输入日期(yyyy-mm-dd):')
date = input.split('-') #以-为分隔符分割

year = int(date[0])
mouth = int(date[1])
day = int(date[2])
arr = [0,31,28,31,30,31,30,31,31,30,31,30,31]
num = 0

if ((year % 400 == 0) or (year % 100 != 0) and (year % 4 == 0)):
    arr[2] = 29  #如果年份为闰年,则2月为29天。

for i in range(1,len(arr)): 
    if mouth > i :
        num += arr[i]
    else:
        num += day
        break
print('天数:',num)

在这里插入图片描述

3、 将一个列表,每个元素向前移动一位,第一个元素到列表最后,输出结果

在这里插入图片描述
法一:
在这里插入图片描述
法二:
在这里插入图片描述
法三:

在这里插入图片描述

4、输出一个50个数字的列表,对其从大到小排序,并求其平均数且计算出共有多少个数字小于平均数。

在这里插入图片描述

在这里插入图片描述

法二:

import random

l = []
sum = 0
people = 0

for i in range(0,40):
    num = random.randint(50,100) #产生五十个随机数
    l.append(num) 
    sum += l[i] #统计班级总成绩
average = sum/40 #班级平均成绩
l.sort(reverse=True) #对班级总成绩从大到小排序,l.sort()是从小到大,reverse=True表示逆序
print(l)
print(average)
for j in l: #从列表循环,如果成绩小于平均成绩,人数加1
    if j < average:
        people += 1
print(people)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值