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 ...
随机推荐
- [ABP] ASP.NET Zero 5.6.0 之 ASP.NET Zero Power Tools 破解日志
两个要破解Patch的关键dll名称:AspNetZeroRadToolVisualStudioExtension.dll和AspNetZeroRadTool.dll AspNetZeroRadToo ...
- [ABP] ASP.NET Zero 5.6.0 之 ASP.NET Zero Power Tools 上手日志
之前破解了这个工具后,却没有使用它. 现在使用这个小工具,帮我完成创建Entity类,Dto类,AppService类,View视图等DDD相关工作以及Entity Framework Migrati ...
- java线程学习之Sleep方法
sleep方法是在线程中常用到的一个方法,它是一个静态方法. sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度 ...
- leetcode 最后一个单词的长度 python
class Solution: def lengthOfLastWord(self, s): """ :type s: str :rtype: int "&qu ...
- md5 collision(md5碰撞)之记录一些MD5值
md5 collision之记录一些MD5值 “Magic Hash”的PHP漏洞可以使得攻击者非法获取用户的账号信息. 漏洞原因: PHP以一种特定的方式处理被哈希的字符串,攻击者可以利用其 ...
- MAVEN项目中include引入静态文件时报错找不到文件
1. 出现的问题 Fragment "/common/jsp/resource.jsp" was not found at expected path /src/main/weba ...
- Bootstrap3基础 栅格系统 标尺(col-lg/md/sm/xs-1)
内容 参数 OS Windows 10 x64 browser Firefox 65.0.2 framework Bootstrap 3.3.7 editor ...
- Qt Designer问题(挖坑)
同时用两个VS的Qt Designer打开.ui文件,关闭Qt Designer之后再打开发现Qt Designer不在打开方式了.要重启VS才行.
- mybatis之Mybatis_demo
这篇博文通过简单的CRUD案例,让大家能够快速的上手,使用mybatis. 1,在eclipse中新建java project项目 mybatis_demo 2,在mybatis_demo项目中建 ...
- Ubuntu 下将 svg 图片转换为其他格式 (如 png)
参考 How to Convert SVG Files to other Image Formats on Ubuntu 12.04/11.10 Ubuntu 下将 svg 图片转换为其他格式 (如 ...