首页 > 编程语言 >学习Python Day8

学习Python Day8

时间:2024-11-22 14:43:19浏览次数:3  
标签:dict1 apple Day8 Python list1 学习 orange print banana

1.列表

1.1优点

可以存储多个数据,且可以是不同数据类型

1.2常用操作

1.2.1查找
1.2.1.1下标
list1 = ['apple', 'orange', 'banana']
print(list1[0])
print(list1[1])
print(list1[2])
1.2.1.2函数
  • index():返回数据的下标,如果不存在,则报错
list1 = ['apple', 'orange', 'banana']
print(list1.index('banana',0,2))
  • count():统计数据在列表中出现的次数
list1 = ['apple', 'orange', 'banana','apple']
print(list1.count('apple'))
  • len():计算列表长度(即数据个数)
list1 = ['apple', 'orange', 'banana']
print(len(list1))
1.2.1.3判断是否存在
  • in:判断指定数据存在
  • not in:判断指定数据不存在
list1 = ['apple', 'orange', 'banana']
print('apple' in list1)
print('pear' in list1)
print('apple' not in list1)
print('pear' not in list1)
1.2.2增加
  • append():在列表结尾增加数据
list1 = ['apple', 'orange', 'banana']
list1.append('pear')
print(list1)

直接在原列表增加数据,因此列表为可变数据类型

  • extend():列表结尾增加数据,如果数据是一个序列,那么逐一增加
list1 = ['apple', 'orange', 'banana']
list1.extend('pear')
print(list1)

list1 = ['apple', 'orange', 'banana']
list1.extend(['pear', 'watermelon'])
print(list1)
  • insert():在指定位置新增数据
list1 = ['apple', 'orange', 'banana']
list1.insert(1,'pear')
print(list1)
1.2.3删除
  • del

list1 = ['apple', 'orange', 'banana']
del list1
print(list1) #删除整个列表

list1 = ['apple', 'orange', 'banana']
del list1[1]
print(list1) #删除指定数据
  • pop():删除指定下标的数据(默认为最后一个),并返回该值
list1 = ['apple', 'orange', 'banana']
del_fruit = list1.pop(1)
print(del_fruit)
print(list1)
  • remove():移除列表中某个数据的第一个匹配项
list1 = ['apple', 'orange', 'banana', 'apple']
list1.remove('apple')
print(list1)
  • clear():清空列表
list1 = ['apple', 'orange', 'banana']
list1.clear()
print(list1)
1.2.4修改
  • 修改指定下标

list1 = ['apple', 'orange', 'banana']
list1[1] = 'pear'
print(list1)
  • reverse():逆置
n_list = [1, 8, 4, 6, 9, 56]
n_list.reverse()
print(n_list)
  • sort():排序,默认为升序
n_list = [1, 45, 2, 31, 12, 3]
n_list.sort()
print(n_list)
n_list.sort(reverse=True)
print(n_list)

1.2.5复制
  • copy():

list1 = ['apple', 'orange', 'banana']
list2 = list1.copy()
print(list2)

1.3循环遍历

1.3.1while
list1 = ['apple', 'orange', 'banana']
i = 0
while i < len(list1):
	print(list1[i])
    i += 1
1.3.2for
list1 = ['apple', 'orange', 'banana']
for i in list1:
    print(i)

1.4列表嵌套

list1 = [['apple', 'orange'], 'banana']
print(list1[0][1])

1.5综合应用

需求:有3个办公室,8位老师,把老师随机分配至办公室

import random
office = [[],[],[]]
teacher = [1,2,3,4,5,6,7,8]
for i in teacher:
    num = random.randint(0,2)
    office[num].append(i)
j = 0
for i in range(0,3):
    print(f'第{i}个办公室中的老师为{office[i]}')
    i += 1

2.元组

2.1优点

可存储多个数据,且不能修改

2.2语法

t1 = ('hi', 10, 3.1)
t2 = (10,) #,不能省略
print(type(t1))
print(type(t2))

2.3常用操作

元组不支持修改,只要

支持查找

  • 下标

t1 = ['apple', 'orange', 'banana']
print(t1[0])
  • index():数据存在,返回下标,否则报错
t1 = ['apple', 'orange', 'banana']
print(t1.index('orange'))
  • count():统计次数
t1 = ['apple', 'orange', 'banana', 'apple']
print(t1.count('apple'))
  • len():统计数据个数
t1 = ['apple', 'orange', 'banana']
print(len(t1))
  • 可修改元组中列表里的数据
t1 = ['apple', 'orange', 'banana', [10,20,30]]
t1[3][0] = 'aa'
print(t1)

3.字典

3.1优点

可使用统一标准来查找数据

3.2语法

  • 冒号前面为键(key),冒号后面为值(value)

dict1 = {'name':'A', 'age':18, 'gender':'女'}
#空字典
dict2 = {}

字典可变

3.3常用操作

3.3.1增加
dict1 = {'name':'A', 'age':18, 'gender':'女'}
dict1['name'] = 'B'
print(dict1)

dict1['num'] = 123
print(dict1)
3.3.2删除
  • del()

dict1 = {'name':'A', 'age':18, 'gender':'女'}
del dict1['name']
print(dict1)
  • clear():
dict1 = {'name':'A', 'age':18, 'gender':'女'}
dict1.clear()
print(dict1)
3.3.3修改

同增加操作

3.3.4查找
  • key值查找

dict1 = {'name':'A', 'age':18, 'gender':'女'}
print(dict['name'])
  • get():
dict1 = {'name':'A', 'age':18, 'gender':'女'}
print(dict1.get('name'))
print(dict1.get('id', 110))
print(dict1.get('id'))
  • keys()

  • values()

  • items()

dict1 = {'name':'A', 'age':18, 'gender':'女'}
print(dict1.keys())
print(dict1.values())
print(diact1.items())

3.4循环遍历

  • 遍历key

  • 遍历value

  • 遍历元素

  • 遍历键值对

dict1 = {'name':'A', 'age':18, 'gender':'女'}
for key in dict1.keys():
    print(key)
for value in dict1.values():
    print(value)
for item in dict1.items():
    print(item)
for key.value in dict1.items():
    print(f'{key} = {value}')

4.集合

4.1优点

可以去掉重复数据,集合数据无序,不支持下标

4.2语法

s1 = {10,2,5,12,13}
print(s1)

s2 = set('asdfghj')
print(s2)

s3 = set()
print(type(s3))

4.3常用操作

4.3.1增加
  • add()

s1 = {10,2,5,12,13}
s1.add(123)
print(s1)
s1.add(2)
print(s1)
  • update():增加的数据为序列
s1 = {10,2,5,12,13}
s1.update([12,13,56])
print(s1)
4.3.2删除
  • remove():删除指定元素,如果不存在则报错

s1 = {10,2,5,12,13}
s1.remove(10)
print(s1)
  • discard():删除指定元素,若不存在也不会报错
s1 = {10,2,5,12,13}
s1.discard(10)
print(s1)
  • pop():随机删除,并返回这个数据
s1 = {10,2,5,12,13}
del_n = s1.pop()
print(del_n)
print(s1)
4.3.3查找
  • in:判断数据在集合序列

  • not in:判断不在集合序列

s1 = {10,2,5,12,13}
print(10 in s1)
print(2 not in s1)

5.作业练习

5.1

1.一、在北京和广州中间插入上海;
二、删除不属于中国的城市;
三、将省份名称改为其省会城市;
四、在末尾加上台北。cities = ["北京", "广州", "波士顿", "深圳", "湖南", "成都", "洛杉矶", "武汉", "浙江", "香港", "澳门"]
cities = ["北京", "广州", "波士顿", "深圳", "湖南", "成都", "洛杉矶", "武汉", "浙江", "香港", "澳门"]
cities.insert(1,'上海')
cities.remove('波士顿')
cities.remove('洛杉矶')
cities[4] = '长沙'
cities[7] = '杭州'
cities.append('台北')
print(cities)

#运行结果:
['北京', '上海', '广州', '深圳', '长沙', '成都', '武汉', '杭州', '香港', '澳门', '台北']

5.2

2.
字符串替换
编写一个Python程序,接受用户输入的一个字符串和一个字符,将该字符串中所有的指定字符替换为 *,并输出结果。
str1 = input('请输入一个字符串:')
str2 = input('请输入需要被替换的字符:')
new_str = str1.replace(str2, '*', str1.count(str2))
print(new_str)

#运行结果:
请输入一个字符串:asdfdfghj
请输入需要被替换的字符:d
as*f*fghj

5.3

3.
计算字符串中字符的出现次数
编写一个Python程序,接受用户输入的一个字符串和一个字符,计算并输出该字符在字符串中出现的次数。
str1 = input('请输入一个字符串:')
str2 = input('请输入需要统计次数的字符:')
num = str1.count(str2)
print(num)

#运行结果:
请输入一个字符串:zxcvcvcvbnm
请输入需要统计次数的字符:c
3

5.4

4.
首字母大写
编写一个Python程序,接受用户输入的一个字符串,将字符串中每个单词的首字母转换为大写,并输出结果。

 

str1 = input('请输入一个字符串:')
print(str1.title())

#运行结果:
请输入一个字符串:a good child
A Good Child

5.5

现有列表["苹果", "香蕉", "橙子", "葡萄"]
a)添加新的榴莲到列表中。
b)从列表中移除最后一个水果。
c)删除香蕉
d)遍历该列表
list1= ["苹果", "香蕉", "橙子", "葡萄"]
list1.append('榴莲')
list1.pop()
list1.remove('香蕉')
for fruit in list1:
    print(fruit)

#运行结果:
苹果
橙子
葡萄

5.6

6.dic = {'k1':'v1', 'k2':'v2', 'k3':[11,22,33]}
请在字典中添加一个键值对,'k4':'v4',输出添加后的字典
请在修改字典中的'k1'对应的值为'alex',输出修改后的字典
请在k3对应的值中追加一个元素44,输出修改后的字典
请在k3对应的值的第一个位置插入个元素18,输出修改后的字典
dic = {'k1':'v1', 'k2':'v2', 'k3':[11,22,33]}
dic['k4'] = 'v4'
print(dic)
dic['k1'] = 'alex'
print(dic)
dic['k3'] .append(44)
print(dic)
dic['k3'].insert(0,18)
print(dic)

#运行结果:
{'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4'}
{'k1': 'alex', 'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4'}
{'k1': 'alex', 'k2': 'v2', 'k3': [11, 22, 33, 44], 'k4': 'v4'}
{'k1': 'alex', 'k2': 'v2', 'k3': [18, 11, 22, 33, 44], 'k4': 'v4'}

标签:dict1,apple,Day8,Python,list1,学习,orange,print,banana
From: https://blog.csdn.net/2401_82468877/article/details/143973206

相关文章

  • .Net-Avalonia学习笔记(十)-Material.Avalonia
     Add Material.Avalonia nugetpackagetoyourproject:dotnetaddpackageMaterial.AvaloniaEdit App.xaml file:<Application...xmlns:themes="clr-namespace:Material.Styles.Themes;assembly=Material.Styles"...><Application......
  • 网络安全的学习路线
    网络安全主要分别以下几种:1 web安全2系统安全3二进制逆向  4红蓝对抗 5 密码学 6AI安全7移动(ios,Anroid)安全1 web安全:其中sqlxsscsrf是网络安全人员的基本知识。DDoS攻击已经是古老的网络攻击。TCP,DNS劫持,是计算机网络2系统安全:栈溢......
  • 毕业论文设计 Python实现基于改进的鲸鱼优化算法(IWOA)和门控循环单元(GRU)进行时间序列预
    目录Python实现基她改进她鲸鱼优化她法(UZIWOA)和门控循环单元(GTT)进行时间序列预测模型她详细项目实例    2项目背景介绍...2项目目标她意义...2项目目标:...2项目意义:...3项目挑战...3项目特点她创新...3项目应用领域...3项目效果预测图她程序设计...4项......
  • 毕业论文设计 Python 实现基于WGAN的生成对抗网络数据生成的详细项目实例
    目录Python实现基她WGAN她生成对抗网络数据生成她详细项目实例...5项目背景介绍...5一、引言...5二、WGAN背景及优势...51.生成对抗网络(GAN)简述...52.WGAN她核心创新:Wattestterzin距离...63.1-李普希茨条件她权重裁剪...6项目目标...61. 构建高质量她数......
  • 毕业论文设计 Python 实现基于SSA-CNN-LSTM麻雀算法优化卷积长短期记忆神经网络进行时
    目录Python实现基爱她TTA-CNN-LTTM麻雀算法优化卷积长短期记忆神经网络进行时间序列预测模型爱她详细项目实例    4项目背景介绍...4项目目标...5提升预测精度...5实现自动化优化...5提升模型爱她泛化能力...5提高计算效率...5项目意义...5创新算法应用.......
  • 毕业论文设计 Python 实现基于PSO-LSTM粒子群优化长短期记忆神经网络进行时间序列预测
    目录Python实现基于PTO-LTTM粒子群优化长短期记忆神经网络进行时间序列预测模型丁当详细项目实例    5项目背景介绍...5项目目标...51.     模型架构丁当设计愛她实现...62.     数据集丁当选择愛她预处理...63.     训练愛她调优过程...6......
  • 使用Python实现基本图像识别
    Python是一种强大且易于使用的编程语言,广泛应用于数据科学和图像处理领域。通过其丰富的库支持,我们可以快速实现图像处理任务,例如边缘检测。以下示例展示了如何用Python和基础工具实现简单的边缘检测。代码实现以下代码利用Sobel算子进行灰度图像的边缘检测:python更多内容访问......
  • 强化学习算法(PPO算法)—机器人AI控制算法
    相关:https://github.com/google/brax/tree/main看到一个推特:这里分享了一个网友编写的pytorch版本的PPO算法,因为我一直觉得只有工业界采用的PPO算法编写的那个水平才比较靠谱,因此个人编写的RL算法我是比较少看的,不过发现这个实现比较简练,感觉这个入门学习还是不错的,于是本文......
  • [python] Python异步编程库asyncio使用指北
    Python的asyncio模块提供了基于协程(coroutines)的异步编程(asynchronousprogramming)模型。作为一种高效的编程范式,异步编程允许多个轻量级任务并发执行,且相比传统的多线程模型,具有更低的内存消耗。因此,asyncio在需要高并发处理的场景中,尤其是在Web开发、网络请求、API调用和套接字......
  • 计算机毕业设计必看必学38034+Web影评系统设计与实现原创定制程序单片机,java、PHP、p
    摘   要网络的兴起,让电影从业者和影迷之间的交流变得更加的便捷,影评系统可以成为电影公司和制片方的重要参考,通过分析用户对电影的评价和反馈,了解观众的需求和口碑反应。基于这些信息,电影公司可以制定更有效的营销策略,提升电影的知名度和票房。同时也让用户有了一个可......