🍉前言
这些题都是在菜鸟官网上的练习题,
对于刚学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
文章来源:https://www.toymoban.com/news/detail-431126.html
到了这里,关于【Python每日十题菜鸟版--第四天】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!