集团网站网页模板,wordpress ios7教程,昆明网站优化建设,大型网站的技术架构问题pycharm部分好用快捷键 变量名的定义
与之前学习过的语言有所不同的是#xff0c;python中变量名的定义更加的简洁 such as 整形。浮点型和字符串的定义
money50
haha13.14
gagahello字符串的定义依然是需要加上引号#xff0c;也不需要写#xff1b;了
字符…pycharm部分好用快捷键 变量名的定义
与之前学习过的语言有所不同的是python中变量名的定义更加的简洁 such as 整形。浮点型和字符串的定义
money50
haha13.14
gagahello字符串的定义依然是需要加上引号也不需要写了
字符串拼接
在print输出时使用“”进行连接
type的使用方式
可以查看数据类型 也可以三方中转
数据类型转换 转换成字符串可能比较方便但是float转换成int可能会损失精度
标识符命名规则 真好可以用中文 其他没啥要注意的和其他语言一样
基本运算符 ps从来没见过这么省事的编辑器他居然会猜你想写什么就给你写好。它真的我哭死
字符串的多种定义方式 感觉python有一种独特的疯感freedom
字符串拼接 ps字符串之间才可以拼接 数字的话需要定义的时候是字符串类型
字符串格式化
name黑马程序员
messageI am %s % name
print(message)这里必须是%和s表示字符串站位 假如有很多个字符串的话
name雪distance
where烟台
age21
xiaoshu13.14
print(我的名字是%s我家住在%s,我的年龄是%d我将会爱你%f%(name,where,age,xiaoshu))数字精度设置 不够的会在前面补上空格小数就可以约束后面的位数
快速字符串格式化
print(f我的名字是{name}我家住在{where},我的年龄是{age}我将会爱你{xiaoshu})课后练习 name传智播客
stock_code003032
stock_price19.99
yinzi1.2
growth7
finalpricestock_price*yinzi**growth
print(f公司{name}股票代码{stock_code}当前股价{stock_price})
print(每日增长系数是%.1f经过%d天增长后股价达到了%.2f%(yinzi,growth,finalprice))上面的修改一下股票价格不需要加上引号 这里一个很智障的问题没搞明白数学公式咋写
input的用法
print(告诉我你是谁)
nameinput()
ageinput()
print(f{name})
print(我知道了你是%s,年龄是%s % (name,age))input接受的是字符串形式的数据故上面是%s尝试了一下%d会报错 所以需要强制类型转换
nameinput(please tell me who are you)
nameint(name)
print(type(name))小练习
user_name input()
user_typeinput()
print(您好%s您是尊贵的%s用户欢迎您光临。 % (user_name, user_type))真假判断
bool_1True
bool_2False
print(fbool_1的内容是{bool_1}类型是{type(bool_1)})num110
num220
print(fthe final is {num1num2})需要注意的是这里的True和False必须首字母大写
if判断语句
age30
if age18:print(you are a kid)python中没有大括号的限制了所以主要就是看前面缩进别忘了加冒号 小练习
print(欢迎来到黑马儿童游乐场儿童免费成人收费)
ageinput(请输入你的年龄)
ageint(age)
if age 18:print(您已成年游玩需要补票10元。)
print(祝您游玩愉快) if-else语句 if和else都需要加
print(欢迎来到黑马儿童游乐场儿童免费成人收费)
ageint(input(请输入您的年龄))
if age 18:print(您已成年游玩需要补票10元。)
else:print(未成年免费)
print(祝您游玩愉快) 小练习
print(欢迎来到黑马动物园)
ageint(input(请输入您的身高cm))
if age 120:print(您的身高超出120cm游玩需要补票10元。)
else:print(免费游玩)
print(祝您游玩愉快。) if-else多条件判断
elseif写成elif了非常摆烂 if-elif-else 小练习
num4
num1int(input(请输入第一次猜想的数字))
if num1num:print(猜对啦)
elif int(input(猜错了在猜一次))num:print(猜对啦)
elif int(input(猜错了在猜最后一次))num:print(猜对了)
else:print(Sorry,猜错了我猜想的数字是%d % num)ps猜数字小游戏
# 猜数字小游戏
num4
while True:num1 int(input(请输入一个数字))if num1num:print(你猜对啦)breakelif num1num:print(你猜的数偏大了)else:print(你猜的数偏小了)嵌套判断语句
if int(input(你的身高是多少cm))120:print(不免费)print(但是VIP等级大于3可以免费请输入VIP等级)if int(input(你的VIP级别是多少))3:print(免费)else:print(不免费啦)
else:print(欢迎小朋友游玩)这种只要题干里面描述清楚一般没得问题
little练习
ageint(input(Enter your age:))
timeint(input(Enter your enter time:))
levelint(input(Enter your enter level:))
if age18 and age30:if time2 or level3:print(可以领取嗷)else:print(不能领取嗷)
else:print(不能领取嗷) 到是也能实现但是和老师希望的可能不太一样老师希望可能一步一判断顺便python的并且和或者竟然改成and和or了真好哇
老师写的代码
ageint(input(Enter your age:))
timeint(input(Enter your enter time:))
levelint(input(Enter your enter level:))
if age18:print(你是成年人)if age30:print(你的年龄达标)if time2:print(你的入职时间达标)elif level3:print(你的级别达标)else:print(入职时间或者级别不达标不能领取)else:print(你的年龄太大了嗷不能领取)
else:print(未成年不能领取嗷)每一个if记得对应一个else
实战训练 代码如下所示
import random
numrandom.randint(1,10)
num1int(input(请输入数字))
if num1num:print(bingo)
elif num1num:print(too big)num1int(input(请第二次输入数字))if num1num:print(too big)num1int(input(请第三次输入数字))if num1num:print(too big the num is %d%num)elif num1num:print(too small the num is %d%num)else:print(bingo)elif num1num:print(too small)num1 int(input(请第三次输入数字))if num1 num:print(too big the num is %d%num)elif num1 num:print(too small the num is %d%num)else:print(bingo)else:print(bingo)
else:print(too small)num1 int(input(请第二次输入数字))if num1 num:print(too big)num1 int(input(请第三次输入数字))if num1 num:print(too big the num is %d%num)elif num1 num:print(too small the num is %d%num)else:print(bingo)elif num1 num:print(too small)num1 int(input(请第三次输入数字))if num1 num:print(too big the num is %d%num)elif num1 num:print(too small the num is %d%num)else:print(bingo)else:print(bingo)感觉是非常费劲的计算方式假如使用上面的while循环或者for循环会比较简单这个就用来锻炼逻辑 ps三次猜数太难猜了私心偷偷加了最后一次再猜不中就把数告诉我就完了玩不过人工智能
while循环
假如表白100次就能成功
n10
while n0:print(小美我喜欢你)n-1
怕给我电脑烧了表白10次意思意思吧 little作业
n1
sum10
while n100:sum1nn1# print(n)# print(sum1)
print(sum1)这里出现101不重要重要的是n1和n100之间就是100个数假如从0开始那么就要100了
while循环猜数案例
带生成随机数版循环猜数案例
import random
numrandom.randint(1,100)while True:num1int(input(请输入数字))if num1num:print(you are right)breakelif num1num:print(too big)else:print(too small)哈哈也是猜了好多遍 老师没有用break使用的是修改flag顺便还记录了一下你猜了多少次
import random
numrandom.randint(1,100)
count0
flagTrue
while flag:count1num1int(input(请输入数字))if num1num:print(you are right)flagFalseelif num1num:print(too big)else:print(too small)
print(f你一共猜了{count}次)while嵌套循环 让print语句输出不换行 制表符\t 这个对于中文可能有点问题用英文是没有问题的
print(hello\tworld)
print(你好\tlihua)
print(itheima\tbest)小练习
n1
while n9:m1while mn:print(f{m}*{n}{m*n}\t,end)m1n1print()for循环 利用for循环遍历字符串
namehhagegege
for x in name:print(x,end)小练习
count0
for x in itheima is a brand of itcast:if xa:count1
print(f这个字符串里面一共有{count}个a)暂时没有区分大小写
count0
for x in itheima is a brand of itcastAAA:if xa or xA:count1
print(f这个字符串里面一共有{count}个a)这是区分大小写的
for循环range语句 range里面一个数到这个数有多少个 range两个数这两个数字之前的所有数不包含右端包含左端 range三个数左端右端-1加步长 上面三种语法代码
# 语法一
for x in range(10):print(x,end)
print()
# 语法二
for x in range(1,10):print(x,end)
print()
# 语法三
for x in range(1,10,2):print(x,end)
print() 这种就是类似其他语言的for循环也是实现执行几遍的功能 small练习
numint(input(Enter a number:))
count0
for x in range(1,num):if x%20:count1
print(f1到{num}不含100本身有{count}个偶数)for循环变量作用域
也就是我们之前学习的局部变量和全局变量
for i in range(5):print(i)
print(i)这里实际上pycharm没有和你计较最好还是用比较规范的版本进行全局定义
for循环的嵌套使用 想小美表白案例一共一百天每天10朵玫瑰
for i in range(1,101):print(fthe {i} day)for j in range(1,11):print(fthis is the {j} flower)print(xiaomei I love you)
print(fthe {i} day I succeed!)我们之前使用while循环时我们最后第几天是i先了然后while判断不执行我们在输出时还需要i-1现在for循环则是不管右端点的101因此我们此时不需要进行i–的操作
练习for循环打印九九乘法表 for i in range(1,10):j1for j in range(1,i1):print(f{j}*{i}{i*j} ,end)jj1print(\t)下面老师写的
for i in range(1,10):j1for j in range(1,i1):print(f{j}*{i}{i*j}\t,end)jj1print()可以看出在间断方面做得更加完美
continue和break的使用 continue暂时跳过这一次程序读到continue就结束本次循环直接到下一次 break结束循环整个循环都结束 永远不会执行语句2 永远不会执行语句3但是其他的都会被执行这里注意一下语句4跟的谁 假如上面这个没有break
for i in range(1,10):print(1)for j in range(1,10):print(2,end)# breakprint(3,end)print(4)是这样
循环综合案例 import random
numrandom.randint(1,100)
money10000
for i in range(1,21):levelrandom.randint(1,10)if level5:if money1000:moneymoney-1000print(f向员工{i}发放工资1000元账户余额还剩{money})else:print(工资发完了下个月领取把)breakelse:print(f员工{i}绩效分{level}不发工资下一位) continue和break还是非常重要的
函数 提前写好方便直接使用
str1hahsdwibcwidb
str2hfbiurwb
str3cnefbvudef mylen(str):count 0for i in str:count 1print(f字符串的长度是{count})length1mylen(str1)
length2mylen(str2)
length3mylen(str3)
eg统计字符串长度的函数实际上python已经提供了一个方法len方法也可直接调用
函数定义 简单小函数
def sayhi():print(hi)
sayhi()非常的人性 我们调用要严格的遵循调用在定义后面 小练习
def welcome():print(欢迎来到黑马程序员)print(请出示您的72小时核酸检测证明)
welcome()老师写的差点忘记我们的老朋友\n
def welcome():print(欢迎来到黑马程序员\n请出示您的72小时核酸检测证明)# print()
welcome()函数的传入参数
一个加法小函数
def add(a,b):resultabprint(f{a}和{b}相加的结果是{result})
add(1,2)函数的传入参数案例 def check(tem):if tem37.5:print(fbalabala……您是{tem}体温正常请进)else:print(fbalabala……您是{tem}体温异常隔离去吧)check(36)
check(40)函数返回值 我们假如使用return进行传递返回值的时候需要拿一个变量来接
def add(a,b):return ab
resultadd(1,2)
print(result)有返回值只不过这里的返回值是None
def sayhi():print(hi)resultsayhi()
print(type(result))def check(age):if age 18:return successelse:return None
result check(18)
if not result:print(未成年禁止进入)NoneFalse 这里修改为True和False也是可以的因为这样返回类型就不为空了就是返回的布尔类型
函数的说明文档 主要就是在函数体前面记得备注详细一点让自己和他人都能看懂
函数的嵌套调用 def funb():print(funb)
def funa():print(funa)funb()print(func)
funa() 这个也是调用的函数需要提前定义完毕
变量在函数中的作用域 出了函数体在外面没法用 全局变量在函数内外都是可以使用的 正常在函数里面修改全局变量的值是没门的但是在函数里面print一下能发现被修改了 引入global 在函数里面定义一下就是全局变量了
函数综合案例 自个写的感觉挺全面的
money5000000
nameinput(Enter your name: )
def check():print(----------查询余额-------------)print(f{name}你好您的余额剩余{money})
def cunkuan():print(----------存款-------------)money1int(input(请输入您要存多少钱))print(f{name}你好您的余额剩余{moneymoney1})
def qukuan():print(----------取款-------------)money1 int(input(请输入您要取多少钱))print(f{name}你好您的余额剩余{money - money1})while(True):print(-----------主菜单--------------)print(f{name},hello,welcome,please choose)print(查询余额\t[输入1]\t)print(存款\t[输入2]\t)print(取款\t[输入3]\t)print(退出\t[输入4]\t)chooseint(input(请输入您的选择))if choose1:check()elif choose2:cunkuan()elif choose3:qukuan()else:print(您已成功退出)break唯一注意一下这里的处理对齐展示一个不行那就多加几个 ps老师原视频指路想看老师写的代码可以看 视频链接P61
数据容器 但是猜测都是一个数据元素都是同类的里面
列表的定义 列表中可以存储不同的数据类型 之前好像写错了写成只能一种类型了
name_list[itheima,itcast,python]
print(name_list)
print(type(name_list))假如里面放的不是一种数据类型那么type依然是list类型
列表的下标索引 python支持正负进行取元素虽然暂时不知道有啥用但是很高级 正向举例
name_list[tom,Lily,sam]
print(name_list[0])
print(name_list[1])
print(name_list[2]) 负向举例
name_list[tom,Lily,sam]
print(name_list[-1])
print(name_list[-2])
print(name_list[-3]) 嵌套索引同样可以用下标 用二维数字数组表示第一个内列表里面第一个个就是按照顺序进行表示
name_list[[9,8,6],[1,2,3]]
print(name_list[0][0])
print(name_list[0][2])
print(name_list[1][1])
唯一就是别忘了内部列表之间记得加 还有下标是从0开始的数对下标
列表的常用操作方法 也就是某个类给我们提供了一堆函数方法
name_list[itcast,itheima,python]
indexname_list.index(itheima)
print(fitheima在列表中的下标索引是{index}) 输入列表中的元素查找元素在列表的那个位置
name_list[itcast,itheima,python]
name_list[0]afteritcast
print(name_list)可以看到元素被修改成功了
name_list[1,2,3]
name_list.insert(1,insert)
print(name_list) 输入的是什么数字到最后就会插入到对应位置
name_list[1,2,3]
name_list.append(insert)
print(name_list) 听着所谓追加元素那肯定是在末尾致敬杀手 追加好多元素extend
name_list[1,2,3]
name_list.extend([4,5,6])
print(name_list) 追加的格式也是列表
name_list[1,2,3]
name_list2[4,5,6,7]
name_list.extend(name_list2)
print(name_list) 合并字符串变的轻轻松松 删除第一种方法del 列表【下标】
name_list[itcast,itheima,python]
del name_list[0]
print(f列表删除元素后列表是{name_list})删除第二种方法列表.pop(下标)
name_list[itcast,itheima,python]
# del name_list[0]
elementname_list.pop(1)
print(f列表删除元素后列表是{name_list},取出的元素是{element})瞎联想一下这个很想弹出栈内元素 del仅仅能完成删除但pop不仅可以删除还可以拿到这个元素
name_list[1,2,3,4,4,6,2,7]
# del name_list[0]
name_list.remove(2)
print(f列表删除元素后列表是{name_list})删除第一个匹配的希望赶快出一个全部匹配删掉的代码题里面很常见 列表全部清空
name_list[1,2,3,4,4,6,2,7]
name_list.clear()
print(f列表删除元素后列表是{name_list})统计某元素在列表内的数量
name_list[1,2,3,4,4,6,2,7]
countname_list.count(2)
print(f列表2元素出现的次数为{count})列表增删改查巴拉巴拉方法的总结非常好
查找某元素的下标
语法列表.index元素
列表的插入元素
语法列表.insert下标元素
列表的追加元素
语法列表.append元素
列表的大量追加元素
语法列表.extend其他列表
列表的删除元素
语法1del 列表【下标】
语法2列表.pop下标
列表删除某元素在列表中的第一个匹配项
语法列表.remove元素
清空整个列表
语法列表.clear()
统计某元素在列表内的数量
语法列表.count元素列表课后练习 # 定义
student[21,25,21,23,22,20]
# 追加31
student.append(31)
print(f追加完数字31之后的列表{student})
# 追加新列表
student.extend([29,33,30])
print(f追加完新列表之后的列表{student})
# 取出第一个元素
numstudent.pop(0)
print(f取出的第一个元素是{num})
# 取出最后一个元素
num1student.pop(-1)
print(f取出的最后一个元素是{num1})
# 查找元素
indexstudent.index(31)
print(f元素下标是{index1}列表是{student}) 通过这个例题我知道取负数下标有啥用了假装当我们不知道一共有几个元素的时候我们需要取元素就可以直接取-1就是最后一个元素
列表循环遍历 student[haha,gaga,QAQQAQ]
lenlen(student)
index0
while indexlen:elementstudent[index]print(f取出来的元素是{element})index1student[haha,gaga,QAQQAQ]
for i in student:print(f每次取出来的元素是{i}) 小练习 使用while循环
list[1,2,3,4,5,6,7,8,9,10]
list1[]
# 使用while循环
num0
while numlen(list):if list[num]%20:list1.append(list.pop(num))num1
print(f通过while循环从列表取出偶数组成的新列表{list1}) 使用for循环偷偷给改成奇数了反正偶数已经打印了一遍了
list[1,2,3,4,5,6,7,8,9,10]
list1[]
# 使用for循环
num0
for num in list:if num%2!0:list1.append(num)num1
print(f通过for循环从列表中取出奇数组成新列表{list1})while循环里面num类似于下标但是for里面的num就类似于列表中的内容了
元组的定义和相关操作 元组相当于一个只读的列表 元组的操作比较全
# 定义元组
t1(1,hello,True)
print(ft1的类型是{type(t1)},内容是{t1})# 定义单个元素的元组
t2(hello)
print(ft1的类型是{type(t2)},内容是{t2})
# 元组后面假如只有一个数据数据后面要添加不然就不是元组类型了就是元素的类型了# 元组的嵌套
t3((1,2,3),(4,5,6))
print(ft1的类型是{type(t3)},内容是{t3})# 下标索引取出内容假设要取t3里面的5元素
numt3[1][1]
print(f取出的元素是{num})# 元组的操作index查找方法
t4(haha,gaga,QAQQAQ)
indext4.index(haha)
print(fhaha在元组里面的下标是{index})# 元组的操作count统计方法
t5(haha,haha,haha,gaga,QAQQAQ)
countt5.count(haha)
print(fhaha在元组里面出现的次数是{count})# 元组的操作len函数统计元组元素数量
lengthlen(t5)
print(ft5元组的长度是{length})# 元组的while遍历这里就是遍历t5元组
num0
while numlength:print(t5[num],end)num1
print()
# 元组的for遍历
for element in t5:print(element,end) 元组里面的元素不能修改 but元组里面的列表可以修改
t9(1,2,[haha,gaga,QAQQAQ])
print(t9)
t9[2][0]hahaha
t9[2][1]gagaga
print(t9) 现在不知道为什么这么设定功能有点鸡肋但是它这么做一定有他的道理
小练习
Jay(周杰伦,11,[football,music])
# 查询年龄在的下标
indexJay.index(11)
print(f年龄所在的下标是{index})
# 查询学生姓名
strJay[0]
print(f学生姓名是{str})
# 删除学生爱好中的football
Jay[2].remove(football)
print(f删除爱好之后元组是{Jay})
# 增加爱好coding每日催眠我爱编程我爱编程
Jay[2].append(coding)
print(f添加爱好之后元组是{Jay})字符串的定义和操作 这里的字符串就类似于我们之前学习过的列表和元组了就是存放大量字符的地方 字符串也是一个不可以修改的数据容器 类似查找替换 分割字符串到不同的列表中也就是进行切分 简洁来说就是掐头去尾去掉前后没有意义的东西 这个不知道是我使用有问题还是咋的很鸡肋 空格就只能去两头空格 数字去完了之后假如有空格还是有
字符串操作汇总
strhaha and gaga or QAQQAQ
# 通过下标取索引
valuestr[1]
value1str[-5]
print(value)
print(value1)
# 假如我们要修改字符串里面的数据就只能新增一个字符串# index方法
valuestr.index(and)
print(f在字符串中and的起始下标是{value})# replace方法,老的字符串并不会修改需要一个新的字符串取接它
str1str.replace(haha,哈哈)
print(f替换完的新字符串是{str1})# split方法
str2str.split(a)
print(f切割完的新字符串是{str2})
str3str.split( )
print(f切割完的新字符串是{str3})# strip方法
str312 haha and gaga or QAQQAQ 12
print(str3.strip())
print(str3.strip(12))# 统计字符串中某字符串的出现次数count
countstr.count(ga)
print(fga这个字符串出现的次数是{count})# 统计字符串的长度len
length len(str)
print(fstr字符串的长度是{length}) while循环和for循环
str花花你是一只小猪
# while字符串循环
index0
while indexlen(str):print(str[index])index1
print()
# for字符串循环
for i in str:print(i) 字符串练习 stritheima itcast boxuegu
# 统计一共有多少个“it”字符
countstr.count(it)
print(f一共有{count}个“it”字符)
# 将字符串空格换成|
str1str.replace( ,|)
print(f换完之后是{str1})
# 按照|进行字符串分割得到列表
str2str1.split(|)
print(f分割完之后是{str2}) 数据容器序列的切片 步长2中间隔一个 步长3中间隔两个 序列切片也是不会影响序列本身而是整个新的序列
# 对list进行切片从1开始4结束步长1
list[1,2,3,4,5,6,7,8,9,10]
# 开始结束步长(步长可以省略不写list[1:4])
resultlist[1:4:1]
print(f结果是{result})# 对tuple进行切片从头开始到最后结束步长1
tuple(1,2,3,4,5,6,7,8,9,10)
# 可以这么表示是开头和结尾的话步长还是1就都可以省略了
result1tuple[0:len(tuple):1]
# 省略之后是这样
# result1tuple[:]
print(f结果是{result1})# 对str进行切片从头开始到最后结束步长2
str12345678910
result2str[::2]
print(f结果是{result2})# 对str进行切片从头开始到最后结束步长-1
str112345
result3str1[::-1]
print(f结果是{result3})# 对列表进行切片从3开始到1结束(不包含它本身)步长-1
list1[1,2,3,4,5,6,7]
result4list1[3:1:-1]
print(f结果是{result4})# 对元组进行切片从头开始到尾结束步长-2
tuple1(1,2,3,4,5,6,7)
result5tuple1[::-2]
print(f结果是{result5})元组字符串列表都是可以划分的都是 【开始结束步长】需要一个东西来接输出结果
# 这一步主要是得到这个倒序的序列我不想自己敲
str学Python来黑马程序员月薪过万
str1str[::-1]
# 得到正序序列
str2str1[::-1]
str3str2.split()
str4str3[1]
str5str4.replace(来, )
str6str5.strip( )
print(str6)写的有点麻烦感觉 老师写的
# 这一步主要是得到这个倒序的序列我不想自己敲
str学Python来黑马程序员月薪过万
str1str[::-1]
# 倒序字符串然后切片
str2str1[::-1][9:14]
print(str2)
# 切片然后倒序
str3str1[5:10][::-1]
print(str3)
# split分割replace替换来为空倒序字符串
str4str1.split()[1][::-1].replace(来,)
print(str4)
被python一长串爽到了 不用加中间变量
集合的定义和操作 集合里面没有重复元素并且也是无序的
集合的操作 set1{haha,gaga,QAQQAQ,}
my_setset()
# 添加新元素
set1.add(huhu)
print(fset添加元素之后结果是{set1})
# 移除元素
set1.remove(haha)
print(fset移除元素之后结果是{set1})
# 随机取出一个元素
elementset1.pop()
print(fset随机取出的元素是{element}还剩下集合{set1})
# 清空集合
set1.clear()
print(fset清空元素之后结果是{set1})
# 取2个集合的差集
set2{1,2,3}
set3{2,3,4,5}
set4set2.difference(set3)
print(set4)
# 消除2个集合的差集
set2.difference_update(set3)
print(set2)
# 2个集合合并为一个
set1{1,2,3}
set2{1,5,6}
set3set1.union(set2)
print(set3)
# 统计集合元素数量len()
set1{1,2,3,4,5}
print(f元素数量有{len(set1)})
# 集合的遍历不能用while循环不支持下标索引
for element in set1:print(f元素有{element}) 集合课后练习 my_list[黑马程序员,haha,黑马程序员,haha,gaga,gaga,huhu,huhu,best]
set1set()
for element in my_list:set1.add(element)
print(set1)它自动得出来就是不重复的了
字典定义 类似于我们平常使用的字典 定义字典也是大括号和集合一样 但是里面是定义键值对 外层key是学生姓名内层key是考试科目
# 字典定义
dict11{xiaoming:99,Jay:88,lihua:77}
# 定义空字典
dict1{}
dict2dict()
print(f字典一的内容是{dict11}类型是{type(dict1)})
print(f字典一的内容是{dict1}类型是{type(dict1)})
print(f字典一的内容是{dict2}类型是{type(dict2)})
# 定义重复key的字典,新的数会把老的数字覆盖掉
dict3{xiaoming:99,Jay:88,lihua:77,xiaoming:53}
print(f字典一的内容是{dict3})
# 从字典中基于key获取value
dict11{xiaoming:99,Jay:88,lihua:77}
scoredict11[xiaoming]
print(f小明的分数是{score})
# 定义嵌套字典
student_score_dict{xiaoming:{语文:77,数学:66,英语:33},Jay:{语文:88,数学:86,英语:55},lihua:{语文:99,数学:96,英语:66}
}
print(f学生的考试成绩是{student_score_dict})
# 从嵌套字典中获取数据
scorestudent_score_dict[Jay][语文]
print(fJay的语文成绩是{score})
score1student_score_dict[lihua][英语]
print(flihua的英语成绩是{score})字典的常用操作
新增元素
更新元素
dict11{xiaoming:99,Jay:88,lihua:77}
# 新增元素
dict11[lihaha]66
print(f新增之后的字典{dict11})
# 更新元素
dict11[Jay]69
print(f更新之后的字典{dict11})
# 删除元素
scoredict11.pop(xiaoming)
print(f删除的元素是{score}删除之后的字典是{dict11})# 清空元素
dict11.clear()
print(f清空之后的字典{dict11})# 获取全部的key
dict11{xiaoming:99,Jay:88,lihua:77}
keydict11.keys()
print(f字典全部的keys{key})
# 遍历字典,两种方法
for key,value in dict11.items():print(f字典中的key是{key})print(f字典中的value是{value})
for key in dict11.keys():print(f字典中的key是{key})print(f字典中的value是{dict11[key]})
# 统计字典内的元素数量
lengthlen(dict11.keys())
print(f元素数量{length})字典课后练习 staff_information{王力宏:{部门:科技部,工资:3000,级别:1},周杰伦:{部门:市场部,工资:5000,级别:2},林俊杰:{部门:市场部,工资:7000,级别:3},张学友:{部门:科技部,工资:4000,级别:1},刘德华:{部门:市场部,工资:6000,级别:2}
}
print(f全体员工的当前信息{staff_information})for name in staff_information:if staff_information[name][级别] 1:# 获取到员工的信息字典employee_informationstaff_information[name]# 修改员工信息employee_information[工资]1000employee_information[级别]2# 将嵌套字典的东西更新回去staff_information[name]employee_information
print(f全体员工的当前信息{staff_information})这个案例很好主要练习了嵌套的类型很有借鉴意义
5类数据容器的总结五颗星 数据容器的通用操作 max,min,len 最大的收获就是又学了一个快捷键 shiftAlt鼠标拖动 可以批量选择然后进行修改
my_list [1,2,3,4,5,6,7,8,9]
my_tuple (1,2,3,4,5,6,7,8,9)
my_string hello world
my_set {1,2,3,4,5,6,7,8,9}
my_dict {1,2,3,4,5,6,7,8,9}print(f列表 元素个数有{len(my_list)})
print(f元组 元素个数有{len(my_tuple)})
print(f字符串 元素个数有 {len(my_string)})
print(f集合 元素个数有{len(my_set)})
print(f字典 元素个数有{len(my_dict)})print(f列表 最大的元素是{max(my_list)})
print(f元组 最大的元素是{max(my_tuple)})
print(f字符串最大的元素是{max(my_string)})
print(f集合 最大的元素是{max(my_set)})
print(f字典 最大的元素是{max(my_dict)})print(f列表 最小的元素是{min(my_list)})
print(f元组 最小的元素是{min(my_tuple)})
print(f字符串最小的元素是{min(my_string)})
print(f集合 最小的元素是{min(my_set)})
print(f字典 最小的元素是{min(my_dict)}) 整整齐齐 转换不了字典因为字典是键值对
print(f列表对象的排序结果{sorted(my_list)})
print(f元组对象的排序结果{sorted(my_tuple)})
print(f字符串对象的排序结果{sorted(my_string)})
print(f集合对象的排序结果{sorted(my_set)})
print(f字典对象的排序结果{sorted(my_dict)})本来乱七八槽的就变得有序了都变成了列表对象
print(f列表对象的排序结果{sorted(my_list,reverseTrue)})
print(f元组对象的排序结果{sorted(my_tuple,reverseTrue)})
print(f字符串对象的排序结果{sorted(my_string,reverseTrue)})
print(f集合对象的排序结果{sorted(my_set,reverseTrue)})
print(f字典对象的排序结果{sorted(my_dict,reverseTrue)})全倒过来了
字符串大小比较 按照ASCII进行大小比较的65A97a 小写a比较大 从前向后比较 不知道是我电脑的问题还是咋感觉在这里面敲有点卡换个文章继续干