【Python每日十题菜鸟版--第四天】

这篇具有很好参考价值的文章主要介绍了【Python每日十题菜鸟版--第四天】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🍉前言

这些题都是在菜鸟官网上的练习题,
对于刚学python的新手来说十分的适合,
可以加强和巩固我们的基础。
嘿嘿 一起噶油吧!

🍉1.列表常用方法

列表的添加

# 列表的插入
list = ['yc', 'szs', 'sy', 'bj', 'yc']
list.append('wl') # 从末尾添加
print("第一个list",list)
list.insert(2, "unkown") # 指定位置添加
print("第二个list",list)
list.extend(["uk", "usa"]) # 传入一个数组
print("第三个list",list)

# 列表的搜索 利用索引,返回下标
print(list.index("new"))

列表的删除

list = ['yc', 'szs', 'sy', 'bj', 'yc']
# 删除
list.remove("z")
print("删除z之后", list)

# 也可以利用切片进行删除,比如切掉第一个
list = list[1:]

# pop方法弹出最后一个并保存
poped_ele = list.pop()

列表的改和查

# 查的话利用索引

# 列表的搜索 利用索引,返回下标
print(list.index("szs"))

# 改的话利用索引改就成

格式转换

# join方法 将列表变成字符串

# split方法 将一个字符串分隔成多个列表

推导式

# 一种很简便很优雅的写法
# 结合了遍历,条件语句和一些数据的基本操作
# 列表推导式 
#[i*i for i in list if i >5]

总结一波

# 列表添加 :三种方法 append extend insert
# 列表删除: remove pop 切片
# 列表操作符 * +
# 列表的截取:切片
# 列表的嵌套:相当于二维数组,高维数组
# 列表的比较 ,引入operator模块的eq方法,operator.eq(list_a,list_b)
# 列表函数: len max min list(Seq):将元组转换成列表
# 列表方法: count(obj):统计元素在列表中出现的次数   
#           list.index(obj):查找某一个元素第一次出现的索引值
#           list.reverse():反向列表中的元素
#           list.sort(key = None, reverse = Flase) 对原列表进行排序
#           list.clear() 清空列表.清空后变成[]     list.copy() 复制列表
# 推导式:[i*i for i in list if i >5]

2.计算n个输的立方和

# 计算n个自然数的立方和
while True:
    try:
        n = int(input("请输入要计算的前几项立方和:"))
        break
    except (TypeError,ValueError):
        print("请输入一个正整数")

sum = 0
for num in range(1,n+1):
   
    sum += num**3
print(f"前{n}项的立方和和为{sum}")

3.列表指定个数翻转

# 使用切片进行截取数据
arr = [1, 2, 3, 4, 5, 6, 7]

def reverse(arr, d, n):
    # 使用列表切片
    arr1 = arr[:n]
    print(arr1)

    arr2 = arr[n:]
# 这里还可以用拼接,用"+"号将两个数组连接起来
    arr2.extend(arr1)

reverse(arr, 7, 2)

4.列表头尾两个数对调

# 最优雅的方法
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

arr[0], arr[-1] = arr[-1], arr[0]
print(arr)

# 当然也可以像上一个题一样利用切片

5.列表指定元素对调

# 熟悉这些写法,将用户那边的字符串变成列表,然后在将列表内的字符串变成int型
arr = list(map(int, input("请输入一序列数字:").split()))

def reverse_position(arr, pos1, pos2):
    arr[pos1], arr[pos2] = arr[pos2], arr[pos1]
    print("这是print输出的数组:", arr)
    return arr

print("这是返回的数组:", reverse_position(arr, 3, 4))

6.翻转列表

方法一:切片

# 最优雅的方法--切片
# 翻转列表
arr = list(map(int, input("请输入一序列数字:").split()))
# 使用切片进行逆转,主打的就是一个优雅 
arr = arr[::-1]
print(arr)

# 当然也有很多方法 ,

使用reverse方法

list_ = [1, 2] * 4
print("list", list_start) # [1, 2, 1, 2, 1, 2, 1, 2]
list_start.reverse()
print("list", list_start) # [2, 1, 2, 1, 2, 1, 2, 1]

其他方法

# 这里仅仅提供思路
# 如遍历,拆包解包等,但都没有切片优雅
#但这里的方法都没有切片和直接调用reverse方法优雅

🍉 7.判断元素是否在列表中存在

方法一:利用index()方法

arr = list(map(int, input("请输入一序列数字:").split()))
while True:
    try:
        value = int(input("请输入一个数字:"))
        break
    except (ValueError, TypeError):
        pass
    
    
def is_exist(arr, value):
    if arr.index(value):
        print(f"该元素{value}存在于列表{arr}中")
    else:
        print(f"该元素{value}不存在于列表{arr}中")


is_exist(arr, value)

方法二: 利用in操作符

arr = list(map(int, input("请输入一序列数字:").split()))
while True:
    try:
        value = int(input("请输入一个数字:"))
        break
    except (ValueError, TypeError):
        pass

def is_exist(arr, value):
    for value in arr:
        if arr.index(value):
            print(f"该元素{value}存在于列表{arr}中")
        else:
            print(f"该元素{value}不存在于列表{arr}中")

🍉8. 删除列表重复元素

方法一:使用set

# 最优雅的方法
arr = [1, 1, 2, 3, 2, 3, 4, 5, 6, 11, 21, 23]
# 方法一:使用set
print(f"方法一去重的数组{list(set(arr))}")

方法二:index结合新数组遍历

# 方法二:使用index 结合一个新的数组,如果该元素存在于列表中那么就移除出去
arr2 = []
for value in arr:
    # 表示这个数存在于数组中,就不放入,没有就放入
    try:
        if arr2.index(value):
            pass
    except ValueError:
        arr2.append(value)

print(f"方法二去重的数组{arr2}")

方法三:使用in操作符

# 方法三 :使用in判断该元素是否存在于这个数组中
arr3 = []
for value in arr:
    if value not in arr3:
        arr3.append(value)
    else:
        pass
print(f"方法三去重的数组{arr3}")

方法四:其他方法

# 当然还有很多方法
# 这里只提供提供思路
# 比如 利用双重循环等,童鞋们大可发挥思想

🍉9.复制列表

方法一:直接复制

# 方法一:直接赋值
arr = [1, 2, 34, 5]
arr1 = arr
print(f"方法一复制出的列表{arr1}")

方法二:切片

# 方法二:切片
arr2 = arr[::]
print(f"方法二复制出的列表{arr2}")

方法三

# 方法三:使用extend方法
arr3 = []
arr3.extend(arr)
print(f"方法三复制出的列表{arr3}")

方法四

# 方法四:add 方法 或者是insert方法也可以,结合遍历数组
# 看起一个很简单甚至没必要的问题
# 其实或许可以提供思路,发散思维

🍉10.计算列表中元素重复出现的次数

方法一:遍历统计(传统方法)

list = [1, 1, 1, 2, 3, 2, 3, 2, 23, 2, 3, 2, 3, 23, 2, 3, 23, 3]

while True:
    try:
        value = int(input("请输入你想要统计的数:"))
        break
    except (ValueError, TypeError):
        pass

# 方法一:遍历
count = 0
for v in list:
    if v == value:
        count += 1
    else:
        pass
print(f"方法一统计{value}出的次数是:{count}")

方法二:使用列表提供的count()方法

# 方法二:使用count()方法
print(f"方法二统计{value}出的次数是:{list.count(value)}")

方法三:使用字典

# 使用子带你这个数据结构
# 这或许是一个高级的方法
# 将列表中的元素作为字典的键,字典的值为元素出现的次数
# 你们试试看

🍉 学无止境,都看到这了,点个赞关注支持一下呗!嘿嘿(* ̄︶ ̄)文章来源地址https://www.toymoban.com/news/detail-431126.html

到了这里,关于【Python每日十题菜鸟版--第四天】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蓝桥杯 题库 简单 每日十题 day7

    题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐酒。 题目描述 本题为填空题,只需要算出结果

    2024年02月07日
    浏览(44)
  • 蓝桥杯 题库 简单 每日十题 day3

    题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 1200000 有多少个约数(只计算正约数)。 解题思路 枚举,从1开始一直到1200000本身都作为1200000的除数,如果可以整除,则是它的约数 题目描述 本题为填空题,只需要算出结果后,在

    2024年02月08日
    浏览(41)
  • 蓝桥杯 题库 简单 每日十题 day4

    津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴

    2024年02月07日
    浏览(50)
  • 蓝桥杯 题库 简单 每日十题 day2

    题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。 小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。 小蓝想知道自

    2024年02月07日
    浏览(42)
  • 蓝桥杯 题库 简单 每日十题 day6

    题目描述 给定一个单词,请问在单词中删除t个字母后,能得到的字典序最小的单词是什么? 输入描述 输入的第一行包含一个单词,由大写英文字母组成。 第二行包含一个正整数t。 其中,单词长度不超过100,t小于单词长度。 输出描述 输出一个单词,表示答案。 输入输出

    2024年02月08日
    浏览(39)
  • JavaScript每日五题面试题(第四天)

    避免命名冲突:通过将代码分离成独立的模块,可以避免变量和函数名冲突,因为每个模块都有自己的作用域。 更好的代码组织和可维护性:模块化使代码结构更清晰,易于维护和管理。每个模块都有自己的职责和功能,更容易理解和修改。 可重用性:模块化使代码更容易

    2023年04月24日
    浏览(16)
  • 【蓝桥杯】每日四道填空题(两道真题+两道模拟题)| 第四天

    专栏: 蓝桥杯——每日四道填空题(两道真题+两道模拟题) 离蓝桥杯已经不到一个月时间了,赶快刷起来吧,填空题一定别丢分!! ୧ ꒰•̀ᴗ•́꒱ ୨ 另一个专栏是: 蓝桥杯——编程题刷题营(每日四题,两道模拟,两道真题) 目录 第一道真题(2016年省赛):寒假作

    2023年04月08日
    浏览(44)
  • OpenCV for Python 学习第四天 :通道的获取与合并

    上一篇博客,我们学习了如何通过更快的item()和itemset()的方法访问图片,以及了解了图像的兴趣位置的获取方法,那么今天,我们将学习通道的处理方法,通过通道的拆分和合并的实例,让大家更好的了解咱们有关于BGR通道的知识。 在OpenCV中,可以使用split()方法将图像的不

    2024年02月17日
    浏览(40)
  • Python学习笔记第六十四天(Matplotlib 网格线)

    我们可以使用 pyplot 中的 grid() 方法来设置图表中的网格线。 grid() 方法语法格式如下: 参数说明: b:可选,默认为 None,可以设置布尔值,true 为显示网格线,false 为不显示,如果设置 **kwargs 参数,则值为 true。 which:可选,可选值有 ‘major’、‘minor’ 和 ‘both’,默认为

    2024年02月12日
    浏览(43)
  • Python 3 | 菜鸟教程 (一)

    目录 一、Python3 简介 二、Python 发展历史 三、Python 特点 (一)易于学习 (二)易于阅读 (三)易于维护 (四)一个广泛的标准库 (五)互动模式 (六)可移植 (七)可扩展 (八)数据库 (九)GUI编程 (十)可嵌入 四、Python 应用 五、 Python3 环境搭建 六、Python3 下载 七

    2024年02月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包