is,数据类型补充,set,深浅拷贝
十二.基础数据类型补充:
1.join 可以把列表变成字符串.
s = ‘abc’
s1 = s.join(‘非常可乐’)
print(s1) #非abc常abc可abc乐abc
s = "_"
s1 = s.join(['alex','wusir','taibai','ritian'])
print(s1) #alex_wusir_taibai_ritian
数据类型的转换:str-àlist:split
list -àstr:join
其他类型的转换都是用括号括起来
2. # 用for循环将列表里内容全部删除,不能直接删除,先放到新列表,再删除(字典也是一样)
new_lst = []
lst = ["我不是药神", "西游记", "西红柿首富", "天龙八部"]
for el in lst:
new_lst.append(el) #记录要删除的内容添加到新列表
for ele in newlst: #循环记录的内容
lst.remove(ele) #从新列表中拿元素删除原列表的内容
print(lst)
3.fromkeys : 返回一个新字典
a = dict.fromkeys([‘alex’,’taibai’,’tangseng’],’123’)
print(a) #结果:{‘alex’:’123’,’taibai’:’123’,’tangseng’:’123’}
dic = {}
a = dic.fromkeys(‘刘德华’,’梁朝伟’)
print(a) #结果:{‘刘’:’梁朝伟’,’华’:梁朝伟,’德’:’梁朝伟’} 这个内容跟dic = {}里的内容没有任何关系.
4.转换成False的数据:
0 None [] {} set()
十三.set集合:
set中的元素是不重复的,无序的用{}表示,所以一般都是用set去重复 不能进行切片和索引
set里面的元素必须是可hash的(int,str,tuple,bool),但是set本身是不可hash的,set是可变的. set1 = {'1','alex',2,True,[1,2,3]} # 报错
set2 = {'1','alex',2,True,{1:2}} # 报错
set3 = {'1','alex',2,True,(1,2,[2,3,4])} # 报错
set去重复:
lst = [45, 5, "哈哈", 45, '哈哈', 50]
lst = set(lst) #先转换成set类型去重
lst = list(lst) #在装换成list类型
print(lst)
2.set的增删改查
增:
(1).add() #添加元素,重复的内容不会被添加到set集合中
(2).update() # 迭代更新
s = {"刘嘉玲", '关之琳', "王祖贤"}
s.update("麻花藤")
print(s)
s.update(["张曼玉", "李若彤","李若彤"])
print(s)
删:
(1) pop() #随机删 有返回值
(2) remove #按元素删,不存在这个元素,会报错
(3) clear()#清空 如果set集合是空的,打印出来是set(),因为要和dict区别
查:用for查询
3.常用操作:
(1),交集
两个集合的共有元素
print(s1 & s2)
print(s1.intersection(s2))
(2),并集 除去重复的两个所有元素
用 | 表示 或 union
(3),差集 得到一个中单独存在的 s1 – s2 s1是第一个
用 – 表示 或 difference
(4),反交集 两个集合中单独存在的元素
用 ^ 表示 或 symmertrc_difference
(5),子集
用 < 表示 或 issubset 判断 set1是set2是子集么 返回True 或False
(6),超集
用 > 表示 或 isuperset
s = frozenset([1,3,6,6,8,9]) 可以去重复,也是set集合
print(s) #结果 frozenset({1,3,6,8,9})
冻结了的set集合,可哈希的,不可变, 所以这个可以放到集合里
Ps: s = set() #空集合
dic = dict() #空字典
s = str () #空字符串
i = int() #空数字
lst = list() #空列表
这些叫做实例化,初始化一个对象的方法
十四.深浅拷贝:
- 直接赋值,两个变量指向同一个对象 即同一个内存地址
- 浅拷贝:只拷贝第一层内容 copy()
- 深度拷贝:对象中的所有内容都被拷贝一份
Import.copy
copy.deepcopy
is,数据类型补充,set,深浅拷贝的更多相关文章
- Day7--Python--基础数据类型补充,集合,深浅拷贝
一.基础数据类型补充 1.join() 把列表中的每一项(必须是字符串)用字符串拼接 与split()相反 lst = ["汪峰", "吴君如", " ...
- Python基础数据类型补充及深浅拷贝
本节主要内容:1. 基础数据类型补充2. set集合3. 深浅拷贝主要内容:一. 基础数据类型补充首先关于int和str在之前的学习中已经讲了80%以上了. 所以剩下的自己看一看就可以了.我们补充给一 ...
- python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝
1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...
- python摸爬滚打之day07----基本数据类型补充, 集合, 深浅拷贝
1.补充 1.1 join()字符串拼接. strs = "阿妹哦你是我的丫个哩个啷" nw_strs = "_".join(strs) print(nw_s ...
- day09-3 数据类型总结,深浅拷贝
目录 数据类型总结,深浅拷贝 存一个值还是多个值 有序 or 无序 可变 or 不可变 浅拷贝和深拷贝的区别(只针对可变类型) 1.拷贝: 3.深拷贝 总结: 数据类型总结,深浅拷贝 存一个值还是多个 ...
- Python全栈开发之3、数据类型set补充、深浅拷贝与函数
转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5466082.html 一.基本数据类型补充 set是一个无序而且不重复的集合,有些类似于数学中的集合,也可以求交集, ...
- 知识点补充 set 深浅拷贝
一 对前面知识点的补充 1.str中的join()方法是将列表转换成字符串 lst = ["韩雪","赵丽颖","黄渤","李连杰 ...
- 《Python》 基础数据类型补充和深浅copy
一.基础数据类型的补充 元组: 如果元组中只有一个数据,且没有逗号,则该‘元组’数据类型与里面的数据类型一致 列表: 列表之间可加不可减,可跟数字相乘 l1=['wang','rui'] l2=['c ...
- 啥数据类型set补充、深浅拷贝与函数
#s1 = {1,2,3,1} """ s2 = ([2,5,6]) print(s1) s1.add(5) #添加元素"5" print(s1) s ...
随机推荐
- ABP which was not registered.
ABP 错误: 'AoLongData.Finances.FinanceService' is waiting for the following dependencies:- Service 'Ab ...
- Windows添加远程访问用户
Windows远程访问 命令:mstsc ------------------------------------------------------------------------------- ...
- MySQL表的几个简单查询语句
1. 创建数据库CREATE DATABASE database-name 2. 删除数据库drop database dbname 3. 创建新表create table tabname(co ...
- P3241 [HNOI2015]开店
题解:动态点分治 建立点分树 每个点维护点分树子树内节点到这个节点和父亲节点距离的前缀和 二分查找锁定合法区间 对每个祖先分治中心查询路径和然后减去不合法子树内的路径和 注意:求大量LCA时用树剖 不 ...
- rabbitmq安装及简单demo练习
参考:https://my.oschina.net/loveorange/blog/3026473 安装参考链接: 1. 下载自己需要的rabbitmq_server(http://www.rabbi ...
- 201612-1 中间数 Java
思路: 先排序,两个count变量记录.有点暴力 import java.util.Arrays; import java.util.Scanner; public class Main { publ ...
- 写excel文件-xlsxwriter包的使用
# encoding: utf8 from xlsxwriter.utility import xl_rowcol_to_cell import pandas as pd def df_to_exce ...
- JS获取当前时间往后一天的时间
(图片来自W3school) let myDate = new Date(); myDate.setDate(myDate.getDate() + 1); let year = myDate.getF ...
- linux环境java程序cpu爆表问题查证
1.top命令查找导致cup爆表的进程 2. top -H -p10832 (10832是Java进程的PID)命令找出了具体的线程 3.使用用命令 jstack 10832> jstack.t ...
- python获取页面文字信息
# -*- coding: utf- -*- from selenium import webdriver import time, re,requests,os,time,random,traceb ...