Python基础知识学习_Day3

Python基础知识学习_Day3

大家好,又见面了,我是全栈君。

一、字典用法

字典是一种key-value数据类型,通过key获取具体value的内容,字典的特性是无序、去重。

增删改查用法如下:

1.1基本增删改查操作

 1 name = {
   
   "name":"alex","age":"18","xx":{
   
   "ed":3000,"ye":2000}}
 2 print(name["name"])   #打印name对应的value的内容
 3 print(name.get("name")) #select
 4 name["sex"] = "boy"  # add
 5 print(name)
 6 del name["sex"] #del
 7 print(name)
 8 name.pop("name") #del
 9 print(name)
10 name.clear() #清空字典
11 print(name)
12 name2 = name.copy() #浅copy,只修改第一层,第二层不变。
13 name2["sex"] = "girl"
14 name2["xx"]["ye"] = "1000"
15 print(name)
16 print(name2)
17 print(name.fromkeys("alex","3")) #分别赋值
18 print(name.keys()) #打印所有key

1.2 字典循环用法

1 方法1.
2 name = {
   
   "name":"alex","age":"18","xx":{
   
   "ed":3000,"ye":2000}}
3 for i in name:   #这种for 以后常用
4     print(i,name[i]) #打印key value的值
5 
6 方法2.
7 for k,v in name: #会先把dict转成list,数据里大时莫用
8     print(k,v)

1.3 三级菜单经典版

Python基础知识学习_Day3
Python基础知识学习_Day3

 1 menu = {
 2     '北京':{
 3         '海淀':{
 4             '五道口':{
 5                 'soho':{},
 6                 '网易':{},
 7                 'google':{}
 8             },
 9             '中关村':{
10                 '爱奇艺':{},
11                 '汽车之家':{},
12                 'youku':{},
13             },
14             '上地':{
15                 '百度':{},
16             },
17         },
18         '昌平':{
19             '沙河':{
20                 '老男孩':{},
21                 '北航':{},
22             },
23             '天通苑':{},
24             '回龙观':{},
25         },
26         '朝阳':{},
27         '东城':{},
28     },
29     '上海':{
30         '闵行':{
31             "人民广场":{
32                 '炸鸡店':{}
33             }
34         },
35         '闸北':{
36             '火车战':{
37                 '携程':{}
38             }
39         },
40         '浦东':{},
41     },
42     '山东':{},
43 }
44 current_level = menu #定义当前层
45 last_levels = [] #标记级别
46 while True:
47     for key in current_level:
48         print(key)
49     choice = input("pls input city:").strip()
50     if choice == 0:continue #输入为空,继续输入
51     if choice =='b': #退出判断
52         if len(last_levels) ==0: break #回到第一层,退出程序
53         current_level = last_levels[-1] #返回上一层
54         last_levels.pop() #删掉当前层
55     if choice not in current_level:continue #如果输入错误,继续输入
56     last_levels.append(current_level) #记录当前层
57     current_level = current_level[choice] #进入下一层

三级菜单程序

 

二、集合用法

 集合是无序的不重复的数据组合,可以测试两个集合直接的交集、并集、差集等

2.1集合的基本用法

 1 s1 = {1,2,3,4,5}
 2 s2 = {2,3,6,7}
 3 s3 = {2,3}
 4 print(s1.intersection(s2))#交集
 5 print(s1&s2) #交集
 6 print(s1.difference(s2))#差集
 7 print(s2.difference(s1))#差集
 8 print(s1-s2) #差集
 9 print(s1.union(s2)) #合集
10 print(s1|s2) #合计
11 print(s1.symmetric_difference(s2))#对称差集
12 print(s2.symmetric_difference(s1))#对称差集
13 print(s1^s2) #对称差集
14 print(s3.issuperset(s1)) #子集
15 print(s1.issuperset(s3)) #子集
16 print(s3<s1) #子集

 三、字符编码集

用什么字符集写入就用什么字符集读取。

内存都是unicode编码,统一字节,高效。

Python基础知识学习_Day3

四、文件操作

4.1基本操作

主要分三步,打开文件,处理文件,关闭文件。

1 f =open('a.txt','r')   #只读方式打开文件
2 first_line = f.readline()  #只读一行
3 data = f.read()# 读取剩下的所有内容,文件大时不要用
4 f.close()  #关闭文件

4.2 基本选项

r,只读模式打开(默认)

w,只写模式打开(清空原文件内容)

a,追加模式(相当于列表里面的append),可以读。

r+,读写模式

w+, 写读模式

rb wb ab 表示处理二进制文件。

4.3 文件字符替换

1 f = open('test',encoding="utf-8")
2 for i in f:
3     if "hello" in i:
4         i = i.replace("hello","good")
5     print(i)

 4.4 文件光标移动

f = open('test',encoding="utf-8")
f.seek(10)  #移动文件光标到第10个字节
print(f.read())
print(f.tell())  #显示当前光标位置

 

转载于:https://www.cnblogs.com/liumj0305/p/5991904.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108824.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 缠中说禅 图解_缠中说禅图解

    缠中说禅 图解_缠中说禅图解博客原文图解分析示范显示,第一个绿箭头的那一笔,没有发生笔破坏,那必然要回落去完成线段的走势,这是理论上100%保证的。而92这一处,出现线段破坏,但该线段不能拉回85处,那么这就构成了85-88这1分钟中枢的第三类卖点,后面的继续下跌也是理论100%保证的。93处,标准的线段类背驰,这就意味着92这1分钟第三类卖点,将出现中枢扩展,至少形成一个1分钟中枢,这也是理论100%保证的。也就是说88-93的下跌已经完成,后面必然有一个针对这下跌的反弹。后面的演化,都如教科书般标准,学过本ID理论的,都知

  • 求助,linux安装pycharm报错

    求助,linux安装pycharm报错错误如图,操作系统是银河麒麟v10sp1,下载的pycharm社区版2021.3.1.tar.gz,已安装jdk17!有没有没有知道的大神,告知一二!

  • 海思h264解码库

    海思h264解码库海思的dll,解码h264 解码后转出yuv12dll自己百度下载 hi_h264dec.dll  hi_h264dec_w.dll 调用方法:if(H264Dec.Hi264DecAU(_decHandle,pH264Data,frameLen,0,ref_decodeFrame,0)==0) pH264Data是h264帧的句柄,frameLen…

  • softmax、softmax损失函数、cross-entropy损失函数[通俗易懂]

    softmax、softmax损失函数、cross-entropy损失函数[通俗易懂]softmaxsoftmax,顾名思义,就是soft版本的max。在了解softmax之前,先看看什么是hardmax。hardmax就是直接选出一个最大值,例如[1,2,3]的hardmax就是3,而且只选出最大值,非黑即白,但是实际中这种方式往往是不合理的,例如对于文本分类来说,一篇文章或多或少包含着各种主题信息,我们更期望得到文章属于各种主题的概率值,而不是简单直接地归类为某一种唯一的主题。这里就需要用到soft的概念,即不再唯一地确定某一个最大值,而是为每个输出分类

  • 2020-10-24

    2020-10-24产品经理面试习题大汇总凡事“预则立,不预则费”。即使你有丰富的产品经验,在面试那种紧张的环境下要面试好也不是一件易事,因为在那种环境下,你要对面试官提出的问题快速反映,快速组织语言,而你又没有经常训练这种能力,想回答好还是很不容易的,如果你经常背一些产品经理的面试题,那你回答的时候就流畅多了,下面将一些常见的产品经理面试题整理下来,需要的小伙伴拿去。1、介绍一下你自己介绍一下自己的姓名,年龄、毕业院校,工作经历。简单的介绍,保持在三分钟以内,给面试官问问题的时间。工作经历主要讲一些.

  • STM32CubeMX教程之简介及基本使用

    STM32CubeMX教程之简介及基本使用STM32CubeMX是意法半导体推出的图形化配置工具,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IARForARM、TrueStudio等。尤其值得一提的是,TrueStudio已经被ST收购,提供完全免费的版本,并且,通过插件式安装,可以将STM32CubeMX集成在一个IDE,使用十分方便。如下图:图1TrueStudio中的STM32Cub…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号