首页 > 其他分享 >数据内型方法与操作的补充

数据内型方法与操作的补充

时间:2022-09-30 17:24:45浏览次数:55  
标签:username 22 内型 补充 dict user hobby print 操作

目录

一.字典dict的内置方法与操作

1.类型转换

dict()
字典的转换一般不使用关键字 而是自己动手转

2.字典必须掌握的操作


1.按k取值(不推荐使用)

user_dict = {
    'username': 'kun', 
    'password': 1998, 
    'hobby': ['sing', 'dance', 'rap', 'basketball']
}
print(user_dict['username'])  # kun
print(user_dict['phone'])  # k不存在会直接报错

2.按内置方法get取值(推荐使用)

user_dict = {
    'username': 'kun', 
    'password': 1998, 
    'hobby': ['sing', 'dance', 'rap', 'basketball']
}
print(user_dict.get('username'))  # kun
print(user__dict.get('age'))  # None
print(user_dict.get('username', '积泥钛酶'))  # kun  键存在的情况下获取对应的值
print(user_dict.get('phone', '积泥钛酶'))  # None 积泥钛酶  键不存在默认返回 None 可以通过第二个参数自定义

3.修改值数据

user_dict = {
    'username': 'kun', 
    'password': 1998, 
    'hobby': ['sing', 'dance', 'rap', 'basketball']
}
print(id(user_dict))
user_dict['username'] = 'jason'  # 键存在则修改对应的值
print(id(user_dict))  # 内存地址不变
print(user_dict)  # {'username': 'jason', 'password': 1998, 'hobby': ['sing', 'dance', 'rap', 'basketball']}

4.新增键值对

user_dict = {
    'username': 'kun', 
    'password': 1998, 
    'hobby': ['sing', 'dance', 'rap', 'basketball']
}
user_dict['age'] = 18  #键不存在则新增键值对
print(user_dict)  # {'username': 'kun', 'password': 1998, 'hobby': ['sing', 'dance', 'rap', 'basketball'], 'age': 18}

5.删除数据

del user_dict['username']
print(user_dict)
res = user_dict.pop('password')
print(user_dict)
print(res)  # 1998

6.统计字典中键值对的个数

print(len(user_dict))  # 3

7.字典三剑客

print(user_dict.key())  # 一次性获取字典所有的键 dict_keys(['username', 'password', 'hobby'])
print(user_dict.values())  # 一次性获取字典所有的值  dict_values(['kun', 1998, ['sing', 'dance', 'rap', 'basketball']])
print(user_dict.items())  # 一次性获取字典的键值对数据  dict_items([('username', 'jason'), ('password', 1998), ('hobby', ['sing', 'dance', 'rap', 'baskeball'])])
for i inuser_dict.items():
    k, v = i
    print(k, v)

8.补充说明

print(dict.formkeys(['name', 'pwd', 'hobby'], 123))  # 快速生成值相同的字典
res = dict.formkeys(['name', 'pwd', 'hobby'], [])
print(res)  # {'name': [], 'pwd': [], 'hobby': []}
res['name'].append('jason')
res['pwd'].append(123)
res['hobby'].append('study')
print(res)
'''当第二个公共值是可变类型的时候一定要注意 通过任何一个键修改都会影响所有'''
res = user_dict.setdefault('username', 'tony')
print(user_dict, res)  # 键存在则不修改 结果是键值对应的值
res = user_dict.setdefault('age', 123)
print(user_dict, res)  # 存不存在则新增键值对 结果是新增的值
user_dict.popitem()  # 弹出键值对后进先出

二.元组tuple的内置方法与操作

1.类型转换

tuple()
ps:支持for循环的数据类型都可以转成元组

2.元组必须掌握的方法

t1 = (11, 22, 33, 44, 55, 66)
# 1.索引取值
# 2.切片操作
# 3.间隔、方向、步长
# 4.统计元组内数据值的个数
	print(len(t1))  # 6
# 5.统计元组内某个数据值出现的次数
	print(ti.count(11))
# 6.统计元组内指定数据值的索引值
	print(t1.index(22))
# 7.元组内如果只有一个数据值那么逗号不能少
# 8.元组内索引绑定的内存地址不能被修改(注意区分 可变与不可变)
# 9.元组不能新增或删除数据

三.集合set的内置方法与操作

1.类型转换

set()
集合内数据必须是不可变类型(整型 浮点型 字符串 元组)
集合内数据也是无序的 没有索引的概念

2.集合需要掌握的方法

1.去重

s1 = {11, 22, 11, 22, 22, 11, 222, 11, 22, 33, 22}
l1 = [11, 22, 33, 22, 11, 22, 33, 22, 11, 22, 33, 22]
s1 = set(l1)
l1 = list(s1)
print(l1)
'''集合的去重无法保留原先的数据排列顺序'''

2.关系运算

群体之间差异化校验

eg:
    f1 = {'jason', 'tony','jerry', 'oscar'}  # 用户1的好友列表
    f2 = {'jack', 'jason', 'tom', 'tony'}  # 用户2列表
    # 1.求两个人的共同好友
    print(f1 & f2)  # {'jason', 'tony'}
    # 2.求用户1独有的好友
    print(f1 - f2)  # {'jerry', 'oscar'}
    # 3.求两个人的所有好友
    print(f1 | f2)  # {'jason', 'jack', 'tom', 'tony', 'oscar', 'jerry'}
    # 4.求两个人各自独有的好友
    print(f1 ^ f2)  # {'oscar', 'tom', 'jack', 'jerry'}
    # 5.父集、子集
    print(f1 > f2)
    print(f1 < f2)

四.字符编码理论

该知识点理论特别多 但是结论很少 代码使用也很短
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存储问题
            英文还是采用一个字节 中文三个字节

五.字符编码实操

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

标签:username,22,内型,补充,dict,user,hobby,print,操作
From: https://www.cnblogs.com/LZXSDM/p/16745574.html

相关文章

  • df.plot绘图基本操作参考
     importmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspd#读取天气数据df=pd.read_csv('data/london2018.csv')df   折线图单个y......
  • mogodb常用操作
    db.ttl.insert({_id:12,type:"misc",item:"card",qty:15,"createAt":newDate(Date.now()),"expireAt":newDate(Date.now())})db.ttl.insert({_id:12,......
  • LINUX 系统操作笔记
    1、查看占用cpu最多的十个进程psaux|head-1;psaux|grep-vPID|sort-rn-k+3|head2、查看占用内存最多的十个进程psaux|head-1;psaux|grep-vPID|sort-rn-k+4......
  • 钡铼技术工业物联网网关BL110网口采集Modbus TCP从机操作步骤
    钡铼技术工业物联网网关串口采集ModbusRTU从机串口设备BL110网关设备连接设备接线示意图如下: BL110网关的LAN口接入交换机,S475连接到交换机,使用LAN口通过ModbusT......
  • 贝铼技术工业物联网网关BL110网口采集Modbus TCP从机操作步骤
    钡铼技术工业物联网网关串口采集ModbusRTU从机串口设备BL110网关设备连接设备接线示意图如下:BL110网关的LAN口接入交换机,S475连接到交换机,使用LAN口通过ModbusTCP协议采集......
  • 【VB.NET】操作注册表
       Windows系统将计算机全部配置信息和各应用程序信息容纳在“注册表”数据库中,用它来管理应用程序和关联文件、硬件设备说明、状态属性以及各种状态信息和数据等。注......
  • 【c语言编程基础】结构体单向链表的基本操作
    前言 关注点 code#include<stdio.h>#include<stdlib.h>#include<string.h>//strcat#defineSize4typedefstructTable{intlen;intsize;......
  • selenium操作浏览器
    浏览器的基本操作:1.浏览器前进操作:forward()在初始操作时,是不存在前进操作,一般与back配合使用;back后退操作(当前对象必须存在上下文)2.浏览器的最大化、最小化、全屏:3.浏......
  • CRM系统和OA系统是否可以共用一个系统,如何操作?
    CRM是管理客户的系统,OA是办公协同系统,很多厂家是分开的,也有部分要么只做CRM,要么只做OA,主要是传统的软件应用开发模式决定的,而如果选用类似于3UCSxPlus平台的话,不仅CRM、OA......
  • 统信防火墙安装使用操作指南
    统信防火墙安装使用操作指南默认统信防火墙是没安装的,首先我们先安装防火墙apt-getinstallufw设置SSH的22端口允许接入ufwallow22设置其他规则ufwallow80/tcpufw......