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面向对象概述和三大特性
Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心.围绕着 Java 类和 Java 对象,有三大基本特性:封装是 Java 类的编写规范.继承是类与类之间联系的一种形式.而多态 ...
- zigbee 安全通信加密链接密钥
---恢复内容开始--- #define KEY_TYPE_TC_MASTER 0 // Trust Center Master Key信任中心主密钥#define KEY_TYPE_ ...
- DUILIB UI创建过程
函数调用过程: CDialogBuilder 内部过程循环创建控件树 上图中 在AttachDialog中设置窗口的主控件 并设置控件树的pm
- centos6.9系列LNMP环境的安装
一.Nginx 1.先解决Nginx的依赖关系: yum install -y pcre-devel openssl-devel 2.安装wget:sudo yum -y install wget 3 ...
- 编译原理 #01# 简易词法分析器(js实现)
// 实验存档 效果图: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...
- 使用nginx代理kibana并配置登录验证
由于kibana不支持登录验证,谁都可以访问,放到公网就不合适了,这里配置用nginx进行代理: 生成密码文件 如果安装了httpd可以用htpasswd,比较方便: htpasswd -c /roo ...
- 读Vue源码二 (响应式对象)
vue在init的时候会执行observer方法,如果value是对象就直接返回,如果对象上没有定义过_ob_这个属性,就 new Observer实例 export function observe ...
- hdfs性能调优(cloudera)
参照官方文档:http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cdh_ig_yarn_tuni ...
- 51nod1363 最小公倍数之和
题目描述 给出一个n,求1-n这n个数,同n的最小公倍数的和. 例如:n = 6,1,2,3,4,5,6 同6的最小公倍数分别为6,6,6,12,30,6,加在一起 = 66. 由于结果很大,输出Mo ...
- Eclipse中Lombok的安装和注解说明
Lombok 可用来帮助开发人员消除 Java 的重复代码,尤其是对于简单的 Java 对象(POJO),比如说getter/setter/toString等方法的编写.它通过注解实现这一目的. 官网 ...