day 07 数据类型,集合,深浅copy
1.day 06 内容回顾
小数据池
int :-5-256
str:特殊字符 ,*20 ascii:8位 1字节 表示一个字符
unicode:32位 4个字节 , 表示一个字符
字节表示8位表示一个字节,字符表示组成的最小元素
utf-8 1个英文字母 8位 1个字节
欧洲 16位 两个字节 表示一个字符
亚洲 24位 三个字节 表示一个字符 gbk 1个英文字母 8位,1个字节
亚洲 16 位 两个字节表示一个字符 s = 'alex'
b = s.encode('utf-8')
print(b)#b.alex
2.数据类型汇总
'''
str int
'''
# str
# s = 'hah '
# print(s.isspace())#isspace至少有一个空格就是True,没有就是False
#int '''
list:
'''
# lis = [11,22,33,44,55]
# for i in range(len(lis)):
# print(i)
# print(lis)
# del lis[i] #dic = {'k1':'v1','k2':'v2','a3':'v3'}
dic1={}
# for i in dic:
# if 'k' not in i:
# dic1.setdefault(i,dic[i])
# dic=dic1
# print(dic) # l = []
# for i in dic:
# if 'k' in i:
# l.append(i)
# for i in l :
# del dic[i]
# print(dic) #转换成bool值
#0 '' [] () set() #元祖 如果元祖里面只有一个元素且不加,那此元素是什么类型,就是什么类型
tu1 = ([1])
tu2 = ([1],)
print(tu1,type(tu1))
print(tu2,type(tu2))
3.集合的操作
'''
集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无需,不重复
{}
'''
# #set1 = set({1,2,3})
# set2 = {1,2,3.[2,3],{'name':'alex'}}#报错
# #print(set1)
# print(set2) #增:add
set1 = {'alex','wusir','ritian','egon','barry',}
# set1.add('女神')
# print(set1)
#update无需添加
# set1.update('abc')
# print(set1)
#删
# set1.pop()#随机删除
# print(set1.pop())#有返回值
# print(set1)
# #remove按元素删除
# set1.remove('alex')
# print(set1) #清空
# set1.clear()
# print(set1) #查
# for i in set1:
# print(i) #求交集
# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# set3 = set1 & set2
# print(set3) # {4, 5}
# print(set1.intersection(set2)) # {4, 5} #求并集
# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# print(set1 | set2) # {1, 2, 3, 4, 5, 6, 7,8}
# print(set2.union(set1)) # {1, 2, 3, 4, 5, 6, 7} #求反交集
# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# print(set1 ^ set2) # {1, 2, 3, 6, 7, 8}
# print(set1.symmetric_difference(set2)) # {1, 2, 3, 6, 7, 8} #set1独有的
# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# print(set1 - set2) # {1, 2, 3}
# #set1独有的
# print(set1.difference(set2)) # {1, 2, 3} # set1 = {1,2,3,}
# set2 = {1,2,3,4,5,6}
# #子集
# print(set1 < set2)
# print(set1.issubset(set2)) # 这两个相同,都是说明set1是set2子集。
# #超集
# print(set2 > set1)
# print(set2.issuperset(set1)) # 这两个相同,都是说明set2是set1超集。 #去重
# li = [1,2,33,33,2,1,4,5,6,6]
# set1 = set(li)
# # print(set1)
# li = list(set1)
# print(li) # s1 = {1,2,3}
# print(s1,type(s1)) # s = frozenset('barry')
# print(s,type(s))
# for i in s:
# print(i)
4.深浅copy
#赋值没有创建新对象,多个变量共享一个对象’
#浅拷贝,会创建对象,新的对象中里面的内存不会被拷贝‘
#深拷贝,创建一个一模一样的完全新的对象,这个对象延伸出来的内容也会跟着复制一份
# 赋值运算
# l1 = [1,2,3]
# l2 = l1
# l1.append('a')
# print(l1,l2) #copy
# l1 = [1,2,3]
# l2 = l1.copy()
# print(l1,l2)
# print(id(l1),id(l2))
# l2.append('a')
# print(l1,l2) # l1 = [1,2,[4,5,6],3]
# l2 = l1.copy()
#
# print(l1,id(l1))
# print(l2,id(l2))
# l1.append('a')
# print(l1,l2)
# l1[2].append('a')
# print(l1,l2)
# print(id(l1[2]))
# print(id(l2[2])) # import copy
# l1 = [1,2,[4,5,6],3]
# l2 = copy.deepcopy(l1)
# print(l1,id(l1))
# print(l2,id(l2))
# l1[2].append('a')
# print(l1,l2)
#
# l1 = [1,[1],2,3,4]
# l2 = l1[:]
# l1[1].append('a')
# # l2 的结果是什么?
# print(l1,id(l1))
# print(l2,id(l2))
# print(l1[1] is l2[1]) # li = ['alex','taibai','wusir','egon']
# for i in li:
# print(li.index(i),i)
#
# for index,i in enumerate(li,1):
# print(index,i)
day 07 数据类型,集合,深浅copy的更多相关文章
- Python基础学习Day7 基础数据类型的扩展 集合 深浅copy
一.基础数据类型的扩展 1.1GBK ---> UTF - 8 # str --->bytes s1 = '太白' # 字符串是unicode编码 b1 = s1.encode('gbk' ...
- 集合 & 深浅copy
集合: 特点:集合是可变的数据类型,但他里面的元素必须是不可变的数据类型,无序,不可重复. 创建: set1 = set({1,2,3}) 或者直接创建set2 = {1,2,3} 集合的增删查: 增 ...
- 知识点补充,set集合,深浅copy
一:对之前知识点的补充 1;字符串(str)中的join方法.把列表转换成字符串 2;列表list[ ]和字典dic{ }在循环过程中不能字节删除.需要把要删除的内容记录在新列表中.然后在循环新列表, ...
- python之路(集合,深浅copy,基础数据补充)
一.集合:类似列表,元组的存储数据容器,不同点是不可修改,不可重复.无序排列. 1.创建集合: (1).set1 = {'abby', 'eric'} result:{'eric', 'abby'} ...
- 003_python的str切片,str常用操作方法,for循环,集合,深浅copy
基础数据类型 基础数据类型,有7种类型,存在即合理. 1.int 整数 主要是做运算的 .比如加减乘除,幂,取余 + - * / ** %... 2.bool布尔值 判断真假以及作为条件变量 3.s ...
- Python 集合 深浅copy
一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...
- python集合深浅copy
一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...
- day7 基础数据类型&集合&深浅拷贝
基础数据类型汇总: #!/usr/bin/env python # -*- coding:utf-8 -*- ''' str int ''' # str s = ' a' print(s.isspac ...
- 07、python的基础-->数据类型、集合、深浅copy
一.数据类型 1.列表 lis = [11, 22, 33, 44, 55] for i in range(len(lis)): print(i) # i = 0 i = 1 i = 2 del li ...
随机推荐
- JAVA函数的重载和重写
一.什么是重载(overlording) 在JAVA中,可以在同一个类中存在多个函数,函数名称相同但参数列表不同.这就是函数的重载(overlording).这是类的多太性表现之一. 二.重载的作用: ...
- (Review cs231n) Spatial Localization and Detection(classification and localization)
重在图像的定位和检测的内容. 一张图片中只有一种给定类别标签的对象,定位则是图像中有对象框:再这些类中,每一个训练目标都有一个类和许多的图像内部对应类的位置选框. 猜想的仅是类标签,不如说它们是位置 ...
- python小知识点随笔
可能会有不局限于Python语言的内容,文中“>>>”表示结果,而不是命令行交互的提示符 1.关于字符串编码 ASCII编码 占用一个字节 二进制11111111=十进制255 所以 ...
- Elastic-Job 配置介绍
作业配置 与Spring容器配合使用作业,可以将作业Bean配置为Spring Bean,可在作业中通过依赖注入使用Spring容器管理的数据源等对象.可用placeholder占位符从属性文件中取值 ...
- Nginx 出现 _STORAGE_WRITE_ERROR_:./Runtime/Cache/Home/
Nginx 出现 _STORAGE_WRITE_ERROR_:./Runtime/Cache/Home/ 这种情况是因为 application 没有足的权限 .需要给予777的权限就能解决了
- Easy methods to select MB Star, Extremely MB Star, MB SD C4, Mercedes BENZ C5 SD
MB Star, Extremely MB SD Connect C4, MB SD C4, Mercedes BENZ C5 SD are usually analysis tools to get ...
- C++环境设置
g++ -V #include <iostream> int main() { std::cout << "Hello World!\n"; return ...
- python操作pymysql数据库
首先需要导入通过import pymysql导入数据库模块 已经创建好一个数据库test,数据库中有一个空表t,只有两个字段id int(5),name varchar(20) import pymy ...
- 本地Git仓库和Github仓库的关联
1.我们首先创建一个文件夹(用于保存本地仓) 在我们想要创建的路径下右键鼠标打开Git Bash Here(创建一个文件夹,并进入文件夹) 2.通过命令git init把我们刚才创建的文件夹变成Git ...
- day16
列表生成式语法[表达式 for in 遍历 if 条件]会从li一次去除所有值,进行判断 如果满足条件 就装到新的列表里 生成数据的函数函数体中又yield关键字yield 暂停函数的执行 还能返回一 ...