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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Pycharm 最新激活码 2021[免费获取]

    (Pycharm 最新激活码 2021)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWNlbnNlSWQi…

    2022年3月21日
    51
  • token解决了什么问题_plustoken官方网站

    token解决了什么问题_plustoken官方网站面试官:说说token失效的处理方式

    2022年9月3日
    3
  • 【python】蒙特卡洛树搜索(MCTS)简单实现

    过程包括以下四步:选择Selection:从根节点R开始,递归选择最优的子节点(后面会解释)直到达到叶子节点L。扩展Expansion:如果L不是一个终止节点(也就是,不会导致博弈游戏终止)那么就创建一个或者更多的字子节点,选择其中一个C。模拟Simulation:从C开始运行一个模拟的输出,直到博弈游戏结束。反向传播Backpropagation:用模拟的结果输…

    2022年4月4日
    50
  • 史上最全阿里 Java 面试题总结及答案

    史上最全阿里 Java 面试题总结及答案史上最全阿里Java面试题总结–答案一、Java基础\color{blue}{一、Java基础}一、Java基础1.JAVA中的几种基本数据类型是什么,各自占用多少字节。答案:java分为两种数据类型:1.基本数据类型2.引用数据类型:如,类,接口,数组基本数据类型:8种1.byte1个字节,-128~1272.short2个字节,-32768~327673….

    2022年7月18日
    17
  • goland 激活服务器【2021.10最新】[通俗易懂]

    (goland 激活服务器)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~F…

    2022年3月30日
    297
  • Linux文件的rwx含义,文件(目录)rwx权限的意义[通俗易懂]

    Linux文件的rwx含义,文件(目录)rwx权限的意义[通俗易懂]我们知道不同的角色针对同一个文件(目录)可能会有不同的权限,那么rwx权限的意义是什么呢?对于文件文件是包含实际数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件等。对于文件来说,rwx权限的意义为:r:read,可读取此文件的内容,即可以打开文件;w:write,可编辑此文件的内容,如可以增加、删除、更改文件内容;x:execute,可以执行此文件。需要注意的是,文件的权限rwx都是…

    2022年5月20日
    87

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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