首页 > 编程语言 >Python学习路程——Day08

Python学习路程——Day08

时间:2022-09-30 18:46:14浏览次数:48  
标签:Day08 路程 Python dict user print 键值 数据 字典

Python学习路程——Day08

目录

字典相关操作

1、类型转换

'''
字典类型转换:
    dict(需要转换的数据)
    字典的转换一般不使用关键字进行,而是采用手动转换
'''

2、字典取值

'''
按k取值(不推荐使用)
    语法结构:
    变量名['k键']
'''
user_dict = {'username': 'HanMan',
             'age': 18,
             'hobby': 'basketball'
             }
print(user_dict['username'])

'''
get()方法取值(推荐使用)
    语法结构:
    变量名.get('k键')
get()和按K取值的区别:
    按k取值,如果输入的k键字典内没有,程序会报错
    get()方法取值,如果输入的k键字典内没有,会返回None
'''
print(user_dict.get('age'))

3、修改值的数据与新增键值对

'''
修改值的数据
    语法结构:
    变量名['K键'] = '修改的数据'
如果[]内的K键不存在,那么就会新增一个键值对
'''
user_dict = {'username': 'HanMan',
             'age': 18,
             'hobby': 'basketball'
             }
print(user_dict['username'])
user_dict['hobby'] = 'PingPang'
print(user_dict)

user_dict['sex'] = 'man'
print(user_dict)

4、删除数据

'''
删除数据
语法结构:
del 变量名['K键']
del 删除的数据不可再被调用
变量名.pop('K键')
pop()方法删除的数据还可以调用一次
'''
user_dict = {'username': 'HanMan',
             'age': 18,
             'hobby': 'basketball'
             }
del user_dict['username']
print(user_dict)

re = user_dict.pop('age')
print(user_dict)
print(re)

5、统计字典中键值对的个数

'''
统计字典中的键值对的个数
    语法结构:
    len()
'''
user_dict = {'username': 'HanMan',
             'age': 18,
             'hobby': 'basketball'
             }
long = len(user_dict)
print(long)

6、字典三剑客

'''
字典三剑客是指:
    一次性获取字典中所有的键
        语法结构:
        变量名.keys()
    一次性获取字典中所有的值
        语法结构:
        变量名.values()
    一次性获取字典中所有的键值对数据
        语法结构:
        变量名.items()
'''
user_dict = {'username': 'HanMan',
             'age': 18,
             'hobby': 'basketball'
             }
print(user_dict.keys())
print(user_dict.values())
print(user_dict.items())

7、快速生成数据值相同的字典

'''
快速生成数据值相同的字典
    语法结构:
    dict.fromkeys(['K键1','K键2','K键3'],[数据值])
    这个方法产生的数据值会赋给所有的K键,所有K键的数据值都是一样的
    问题:怎么分别给k键赋值?
'''
dict_user = dict.fromkeys(['name', 'age', 'sex'], [])
print(dict_user)
dict_user['name'].append('HaiMan')
dict_user['age'].append('18')
dict_user['sex'].append('man')
print(dict_user)

8、向原有的字典中添加键值对

'''
字典中添加键值
    语法结构:
    变量名.setdefault('K键', '数据值')
    如果字典中已经存在了你所添加的K键,那么就不会继续添加
,原有的数据值也不会被改变
'''
user_dict = {'username': 'HanMan',
             'age': 18,
             'hobby': 'basketball'
             }
res = user_dict.setdefault('sex', 'man')
print(user_dict, res)

9、弹出键值对

'''
弹出字典中的键值对
    语法结构:
    变量名.popitem()   该方法不可指定弹出那个键值对,
    弹出键值对采取的是后进先出,即最先弹出最后一个键值对,以此往前类推。
    
'''
user_dict = {'username': 'HanMan',
             'age': 18,
             'hobby': 'basketball'
             }
user_dict.popitem()
print(user_dict)

元组相关操作

1、类型转换

'''
语法结构:
    tuple()
    支持for循环的数据类型都可以转成元组
'''
lst = [1, 2, 3, 4, 5, 6]
re = tuple(lst)
print(lst)
print(re)	

2、索引取值

'''
语法结构:
    变量名[下标]
'''
tup = (1, 2, 3, 4)
print(tup[0])

3、间隔、方向

'''
语法结构:
    变量名[开始下标: 结束下标: 步长]
'''
tup = (1, 2, 3, 4)
print(tup[1: 3: 2])

4、统计元组内数据值的个数

'''
len(变量名)
'''
tup = (1, 2, 3, 4)
print(len(tup))

5、统计元组内某个数据值出现的次数

'''
统计元组内某个数据值出现的次数
    变量名.count()   括号中填入需要统计的数据值
'''
tup = (1, 2, 3, 4)
print(tup.count(2))

6、统计元组内指定数据值的索引值

'''
统计元组内指定数据值的索引值
    语法结构:
    变量名.index()    括号内填入需要索引值的数据值
'''
tup = (1, 2, 3, 4)
print(tup.index(3))

7、元组的注意事项

1、元组内如果只有一个数据值那么逗号不能少
2、元组内索引绑定的内存地址不能被修改(注意区分 可变与不可变)
3、元组不能新增或删除数据

集合相关操作

1、类型转换

'''
set()
	集合内数据必须是不可变类型(整型、浮点型、字符串、元组)
	集合内数据也是无序的,没有索引
'''	
set_num = [1, 2, 3, 4, 5, 6, 7]
re = set(set_num)
print(re)

2、去重

'''
语法结构:
	set()
	直接使用类型转换就可以完成去重操作
	集合去重是无法保留原有的数据的
'''
set_1 = {11, 11, 11, 22, 22, 11, 22, 11, 22, 33, 22}
set_1 = set(set_1)
print(set_1)

3、关系运算

群体之间多差异化校验

'''
& 作用:
	求共同拥有的数据值
	& 的应用
	eg:每个平台的用户ID都是唯一的
	该运算符的结果是显示相同的数据值
'''
name = {'Jason', 'Tony', 'Tom', 'Sandy', 'Oscar'}
name1 = {'Jason', 'Jack', 'Mariya', 'Tony'}
print(name & name1)

'''
- 作用
	求独有的数据值
	- 的应用
	eg:两个人好友列表内,各自独有的好友
	该运算结果显示前面那个变量独有的数据
'''
name = {'Jason', 'Tony', 'Tom', 'Sandy', 'Oscar'}
name1 = {'Jason', 'Jack', 'Mariya', 'Tony'}
print(name - name1)

'''
| 作用
	求所有的数据值
	| 的应用
	eg:两个人好友列表内,所有的好友
	该运算结果显示两个变量的全部数据值(重复的只显示一个)
'''
name = {'Jason', 'Tony', 'Tom', 'Sandy', 'Oscar'}
name1 = {'Jason', 'Jack', 'Mariya', 'Tony'}
print(name | name1)

'''
^ 作用
	求所有的数据值
	^ 的应用
	eg:两个人好友列表内,各自独有的好友
	该运算结果显示两个变量各自独有的数据值
'''
name = {'Jason', 'Tony', 'Tom', 'Sandy', 'Oscar'}
name1 = {'Jason', 'Jack', 'Mariya', 'Tony'}
print(name ^ name1)

4、父集、子集

'''
父集、子集表示包含与被包含
'''
name = {'Jason', 'Tony', 'Tom', 'Sandy', 'Oscar', 'Jack', 'Mariya'}
name1 = {'Jason', 'Jack', 'Mariya', 'Tony'}
print(name > name1)

字符编码理论

1.字符编码只针对文本数据
2.回忆计算机内部存储数据的本质
3.既然计算机内部只认识01 为什么我们却可以敲出人类各式各样的字符
	肯定存在一个数字跟字符的对应关系 存储该关系的地方称为>>>:字符编码本
4.字符编码发展史
	4.1.一家独大
    	计算机是由美国人发明的 为了能够让计算机识别英文
    	需要发明一个数字跟英文字母的对应关系
		ASCII码:记录了英文字母跟数字的对应关系
        	用8bit(1字节)来表示一个英文字符
            
 	4.2.群雄割据
    	中国人
        GBK码:记录了英文、中文与数字的对应关系
       	 	用至少16bit(2字节)来表示一个中文字符
            	很多生僻字还需要使用更多的字节
           英文还是用8bit(1字节)来表示
       日本人
    	  shift_JIS码:记录了英文、日文与数字的对应关系
    	韩国人
         Euc_kr码:记录了英文、韩文与数字的对应关系
  		"""
  		每个国家的计算机使用的都是自己定制的编码本		
  			不同国家的文本数据无法直接交互 会出现"乱码"
  		"""
  	4.3.天下一统
    	unicode万国码
        	兼容所有国家语言字符
  			  起步就是两个字节来表示字符 
  		utf系列:utf8 utf16 ...
            专门用于优化unocide存储问题
            英文还是采用一个字节 中文三个字节

字符编码实操

针对乱码不要慌 切换编码慢慢试即可
2.编码与解码
	编码:将人类的字符按照指定的编码编码成计算机能够读懂的数据
        字符串.encode()
 	解码:将计算机能够读懂的数据按照指定的编码解码成人能够读懂
        bytes类型数据.decode()
3.python2与python3差异
	python2默认的编码是ASCII
		1.文件头
        	# encoding:utf8
    	2.字符串前面加u
        	u'北国风光,千里冰封,万里雪飘'
 	python3默认的编码是utf系列(unicode)

标签:Day08,路程,Python,dict,user,print,键值,数据,字典
From: https://www.cnblogs.com/HaiMan/p/16745833.html

相关文章

  • Python Markdown解析利器----mistune详细用法记录
    @目录小试牛刀开始使用mistunemistune简单使用mistune高级用法(自定义mistune)mistune中插件插件使用方法(以删除线(strikethrough)为例)插件包名内置插件删除线(striket......
  • Python tkinter 做一个VIP视频解析的桌面软件,100%你会爱上它
    前言tkinter:GUI桌面应用开发模块,写软件界面你还可以打包成exe软件,哪怕你没有python环境,一样可以用虽然不一定要有界面,但是有界面,用户体验很棒…环境使用......
  • python面试编程题
    1:已知字符串 str='skdaskerkjsalkj',请统计该字符串中各字母出现的次数思路是:用字典str='skdaskerkjsalkj'a=dict()foriinstr:ifinotina.keys():a......
  • python数据类型·内置方法2
    今日内容概要字典相关操作元组相关操作集合相关操作字符编码(理论)字典相关操作1.类型转换 dict()字典的转换一般不使用关键字而是自己动手转2.字典必须......
  • 进入python的世界_day8_python基础——字典、元组、合集的内置方法、编码的介绍
    写在开头,昨天学了一些数据类型的内置使用方法,比如整形、浮点型、字符串、列表,今天学字典、元组、集合的常用内置方法,布尔值是没有所谓的内置方法的,还学了字符编码一、字......
  • python学习之数据内置
    今日分享字典相关操作元组相关操作集合相关操作字符编码(理论)字典相关操作1.类型转换 dict() 字典的转换一般不使用关键字而是靠自己手动转2.必须要学的......
  • Python 空间分析简介
    Python空间分析简介ImageSource:关注涉及任何类型的特定地理区域或位置信息的数据称为“空间”数据(或“地理空间”数据)。地理空间数据有助于理解地理属性和任何其他......
  • Python 缩进:有那么糟糕吗?
    Python缩进:有那么糟糕吗?它是否使Python的语法变得困难并且容易出错?Withorwithoutindentation,asinvisualorderorvisualclutter?Photoby里克·梅森on......
  • Python 时间转化
    1、字符串转datetimefromdatetimeimportdatetime,timedeltatime_a=datetime.strptime('2022-09-0320:31:10',"%Y-%m-%d%H:%M:%S")2、datetime转字符串str_......
  • 使用 Python 分析财务报表
    使用Python分析财务报表首先,什么是财务报表?财务报表是传达有关公司当前业务活动及其过去和现在财务业绩的信息的书面记录。分析财务报表、公司的资产负债表、损益表或......