IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> python语言基础+课后练习day05 -> 正文阅读

[数据结构与算法]python语言基础+课后练习day05

1.已知一个数字列表,求列表中心元素。

nums = [12, 14, 1, 0, 2, 3, 5, 9, 2, 1, 12, 34, 12]
if len(nums) % 2 != 0:
    print(nums[(len(nums)-1)//2])
else:
    print(nums[len(nums)//2])

2.已知一个数字列表,求所有元素和。

nums = [1, 2, 4, 7, 9, 10]
sum1 = 0
for i in nums:
    sum1 += i
print(sum1)

3.已知一个数字列表,输出所有奇数下标元素。

nums = [12, 2, 3, 4, 6, 8, 9, 10]
for i in range(len(nums)):
    if i % 2:
        print(nums[i], end=' ')
print()

4.已知一个数字列表,输出所有元素中,值为奇数的元素。

nums = [1, 3, 2, 22, 10, 9, 11]
for i in nums:
    if i % 2:
        print(i, end=' ')
print()

5.已知一个数字列表,将所有元素乘二。

例如:nums = [1, 2, 3, 4] —> nums = [2, 4, 6, 8]

nums = [1, 2, 3, 4]
for i in range(len(nums)):
    nums[i] *= 2
print(nums)

6.有一个长度是10的列表,数组内有10个人名,要求去掉重复的

例如:names = [‘张三’, ‘李四’, ‘大黄’, ‘大黄’, ‘张三’, ‘张三’, ‘张三’] -> names = [‘张三’, ‘李四’, ‘大黄’]

names = ['张三', '李四', '大黄', '大黄', '张三', '张三', '张三', '李四', '李四', '王五']
for i in range(3):
    names.remove('张三')
for i in range(2):
    names.remove('李四')
names.remove('大黄')
print(names)

7.用一个列表来保存一个节目的所有分数,求平均分数(去掉一个最高分,去掉一个最低分,求最后得分)

scores = [89, 90, 67, 78, 80, 88]
sum1 = 0
for i in range(len(scores)):
    for j in range(len(scores)-1-i):
        if scores[j] > scores[j+1]:
            a = scores[j]
            scores[j] = scores[j+1]
            scores[j+1] = a
scores.pop(0)
scores.pop(len(scores)-1)
for i in scores:
    sum1 += i
print(sum1 / len(scores))

8.有两个列表A和B,使用列表C来获取两个列表中公共的元素

例如: A = [1, ‘a’, 4, 90] B = [‘a’, 8, ‘j’, 1] --> C = [1, ‘a’]

A = [1, 'a', 4, 90]
B = ['a', 8, 'j', 1]
C = list()
for i in A:
    for j in B:
        if i == j:
            C.append(i)
print(C)

9.有一个数字列表,获取这个列表中的最大值.(注意: 不能使用max函数)

例如: nums = [19, 89, 90, 600, 1] —> 600

nums = [19, 89, 90, 600, 1]
for i in range(len(nums)):
    for j in range(len(nums)-1-i):
        if nums[j] > nums[j+1]:
            a = nums[j]
            nums[j] = nums[j+1]
            nums[j+1] = a
print(nums[len(nums)-1])

10.获取列表中出现次数最多的元素

例如:nums = [1, 2, 3,1,4,2,1,3,7,3,3] —> 打印:3

nums = [1, 2, 3, 1, 4, 2, 1, 3, 7, 3, 3]
n1 = nums.count(1)
n2 = nums.count(2)
n3 = nums.count(3)
n4 = nums.count(4)
n7 = nums.count(7)
num1 = [n1, n2, n3, n4, n7]
num1.sort()
if num1[len(num1)-1] == n4 or num1[len(num1)-1] == n7:
    print('4', '或者', '7', '出现次数最多')
elif num1[len(num1)-1] == n2:
    print('2出现次数最多')
elif num1[len(num1)-1] == n1:
    print('1出现次数最多')
elif num1[len(num1)-1] == n3:
    print('3出现次数最多')

请添加图片描述

python语言基础之列表

1、列表的定义

语法

1、列表是python自带的容器型数据类型;将[]作为容器的标志,里面多个元素用逗号隔开:[元素1,元素2,元素3,......]
2、特点:列表是可变的(支持增删改):有序性(支持下标操作);
3、列表元素的要求:1)任何类型的数据都可以作为列表的元素;2)同一个列表中的不同元素类型可以不一样
list1 = [10 + 2, 16.4, '小明']
print(list1)                 -------  12  16.4  小明 -------

2、获取列表当中的元素值

1)获取单个元素

语法

列表[下标]   -   获取列表中指定下标对应的元素

说明:
列表         -   可以是保存列表的变量,也可以是具体的列表数据
[]           -   固定写法
下标         -   下标又叫索引,它可以表示元素在列表中的位置信息
                 python中有序序列中元素的下标有两种:
                 a.元素从左往右从0开始依次增加的下标值
                 b.元素从右往左从-1开始依次减少的下标值

代码案例展示

heroes = ['貂蝉', '诸葛亮', '鲁班', '瑶', '大禹']
print(heroes[-5:-1:3])   ----- ['貂蝉','瑶']------

2)获取多个元素 - 列表切片

1> 切片的完整语法

语法1:
列表[开始下标:结束下标:步长]
从开始下标开始取,取到结束下标前为止,每一次下标增加指定步长

注意

a.如果从开始到结束的方向和步长对应的方向不一致,那么切片的结果为空,(步长为正表示从前往后,步长为负表示从后往前)
b.在不为空的时候,开始下标对应的值可以取到,结束下标对应的值取不到:[开始下标,结束下标)
heroes = ['诸葛亮', '瑶', '奥巴马', '亚索', '劫', '赵云', '孙膑']
print(heroes[-1:1:-2])      -----  ['孙膑','劫','奥巴马'] -----

2>切片语法的省略操作

a.省略步长   -   默认步长是1
列表[开始下标:结束下标]

b.省略开始下标  -  如果步长为正表示从最开始的元素往后取;如果步长为负则表示从最后一个往前取
列表[:结束下标:步长]
列表[:结束下标]

c.省略结束下标  - 如果步长为正则从开始下标开始取到最后一个元素为止;如果步长为负则从开始下标开始取到最前面的一个元素为止
列表[开始下标::步长]
列表[开始下标:]
heroes = ['诸葛亮', '瑶', '奥巴马', '亚索', '劫', '赵云', '孙膑']
print(heroes[:3])       --- ['诸葛亮','瑶','奥巴马'] ---
print(heroes[:3:-2])    --- ['孙膑','劫'] ---
print(heroes[:-1:-1])   --- [] ---

3、遍历列表

语法

方法1:
for 变量 in 列表:
	循环体
方法2:(通过下标获取元素)
for 变量 in range(10):
	列表[变量]

len(列表) - 获取指定列表中的元素的个数

scores = [100, 89, 92, 80, 40, 67, 86, 65, 78, 70]
count = 0
for i in scores:
    if i > 90:
        count += 1
print(count)

4、列表的增删改操作

1)增 - 添加元素

基本语法

1)列表.append(元素)   -   在列表的最后添加指定元素
2)列表.insert(下标,元素)  -  在指定下标对应的元素前插入指定元素
films = list()
films.append('光头强')
films.append('你的名字')
films.append('绿皮书')
print(films)       ----- ['光头强','你的名字','绿皮书'] -----

2)删 - 删除元素

基本语法

1)del 列表[下标]     -     删除列表中指定下标对应的元素
2)列表.remove(元素)  -     删除列表中指定的元素(如果元素不存在会报错;如果元素有多个只删除最前面的一个)
3)列表.pop()         -     取出列表中的最后一个元素
   列表.pop(下标)     -      取出列表中指定下标对应的元素
   pop                -     取出的元素如果有一个变量接收,那么元素还是存在,可以打印出来
del films[1]
print(films)      ------   ['光头强','绿皮书']   -------
films.remove('绿皮书')   ----- ['光头强'] -----
films.pop(0)             ----- [] -----

3)改 - 给列表对应下标处重新赋值

基本语法

列表[下标] = 值    -    将列表中指定下标对应的元素修改成指定的值
films[0] = '熊出没'
print(films)       ------ ['熊出没', '你的名字','绿皮书'] -------
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-19 08:13:59  更:2021-09-19 08:14:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 13:52:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码