python_6
set 集合 {} 无序
s = {1,2,3,4,5}
s = {}
print(type(s)) # 空{}就是字典
s = {1,2,3,4,5}
s = {1,2,3,'22','ss',False,(3,4)}
列表 和 字典 和 集合
print(s)
增
s.add(8)
print(s)
s.update('alex') # 迭代添加
print(s)
删
s = {1,2,3,'22','ss',(3,4)}
s1 = s.pop() #随机删除
print(s) #返回值 返回的被删除的元素
print(s1)
s.clear()
print(s) #清空 set()
s = {1,2,3,'22','ss',(3,4)}
del s #删除整个集合
print(s)
s = {1,2,3,'22','ss',(3,4)}
s.remove() #通过元素指定删除
print(s)
改:
s = {1,2,3,'22','ss',(3,4)}
s.remove(3)
s.add(7)
print(s)
查:
s = {1,2,3,'22','ss',(3,4)}
for i in s:
print(i)
s = {1,2,3,4,33,21,4,1234,34,1234,5324,1234,12341,23,22,34112,2,21,23,34,123,4}
集合天然去重
print(s)
面试题:
lst = [1,2,3,42,3,45,67,534,2]
print(list(set(lst)))
s = set(lst)
print(list(s))
# 其他操作:
s = {'黑哥'}
s1 = {'虎哥','开哥','alex哥','黑哥','wu哥'}
print(s & s1) # 交集 俩个集合都有的才输出
print(s | s1) # 并集 两个集合 合并到一起
print(s1 - s) # 差集 前面减后边的集合前边集合中有的输出出来 自己总结
print(s ^ s1) # 反交集 自己总结
print(s < s1) # 子集
print(s1 > s) # 超(父)集
dic = {{1,2,3}:1}
a = frozenset((1,2,3))
dic ={a:1}
print(dic)
print(dic)
lst = [1,2,3,[4,5,6],7]
lst1 = lst #赋值
lst2 = lst[:] # 切片
#
lst.append(7)
print(lst)
print(lst2) import copy lst4 = copy.deepcopy(lst) # 深拷贝
lst[-2].append(7)
print(lst) #[1, 2, 3, [4, 5, 6,7], 7]
print(lst4) #[1, 2, 3, [4, 5, 6], 7] 浅拷贝: 拷贝的是第一层元素 深拷贝: 拷贝所有元素开辟新的空间存放,完全没有关系 lst = [1,2,3]
lst1 = [1,2,3] print(id(lst))
print(id(lst1)) 面试题
a = [1, 2]
a[1] = a # [1,[1,2]]
print(a[1]) 答案:
[1, [...]] lst = [1,3,[5,7],9]
lst1 = lst
lst2 = lst[:]
# print(id(lst))
# print(id(lst1))
# print(id(lst2))
lst.append(9)
print(lst)
print(lst1)
print(lst2) 是不是一个东西 长的一不一样
lst = [1,2,3,4,5]
for i in lst:
lst.remove(i)
print(lst)
删除不行
lst = [1,2,3,4,5]
for i in lst:
lst.pop()
print(lst)
不行
lst = [1,2,3,4,5]
for i in lst:
lst.clear()
print(lst)
行,作弊
lst = [1,2,3,4,5]
for i in lst:
del lst[0]
print(lst)
不行
lst = [1,2,3,4,5]
for i in range(len(lst)):
lst.pop(0)
print(lst)
这个行
lst = [1,2,3,4,5]
for i in range(len(lst)):
lst.pop()
print(lst)
这个行
lst = [1,2,3,4,5]
for i in lst:
if type(i) == int:
lst[i-1] = ' '
print(lst)
print(list(set(lst)))
lst = [1,2,3,4,5]
lst1 = []
for i in lst:
lst1.append(i)
for k in lst1:
lst.remove(k)
print(lst)
这个方式也可以
for i in dic:
dic['c'] = 3
print(dic)
for i in dic:
dic.pop(i)
print(dic)
lst = {}
dic ={'a':1,'b':2}
for i in dic:
lst[i]= dic[i]
print(lst)
for i in lst:
dic.pop(i)
print(dic)
################################深坑###################################
dic = dict.fromkeys(['alex','wusir','wenzhou','nvshen','kaige'],['太白','姗姗'])
fromkeys 第一是键 第二是值
print(dic)
dic['alex'].append('老村长')
print(dic)
ascii # 不支持中文
unicode 万国码 中文4个字节 英文 2个
utf-8 最少使用1个字节 欧洲 2 亚洲 3
gbk 中文 2 英 1
windows 默认编码GBK a = '你好黑'
a1 = 'alex' a2 = a.encode('utf-8') #编码
print(a)
print(a2)
a3 = a2.decode('utf-8') #解码
print(a3)
bytes字节 用于传输和存储 a = '你好黑'
a1 = 'alex'
a2 = a.encode('gbk') #编码
a3 = a.encode('utf-8') # 最长用
print(a2)
print(a3)
a4 = a2.decode('gbk') #解码
a5 = a3.decode('utf-8')
print(a4,a5)
######坑######## lst = [1,2,3,4,5,[3,4,6,8],5]
lst1 = lst
lst1 = lst[:] # 浅拷贝只拷贝第一层元素
print(id(lst))
print(id(lst1))
lst.append(6)
print(lst)
print(lst1)
lst[-2].append(9)
print(lst)
print(lst1) dic = {'a':1,'b':1}
dic1 = dic
print(id(dic1))
print(id(dic)) import copy
lst = [1,2,3,4,5,[3,4,6,8],5]
lst1 = copy.deepcopy(lst)
print(lst)
print(lst1)
lst[-2].append(10)
print(lst)
print(lst1)
python_6的更多相关文章
- [Python_6] Python 配置 MySQL 访问
0. 说明 Python 访问 MySQL 数据库,需要安装 MySQL 的 Python 插件. 1. 安装 MySQL 插件 pip install PyMySQL 2. 编写代码 # -*-co ...
- 虫师Selenium2+Python_6、Selenium IDE
P155--创建测试用例 录制脚本 编辑脚本 定位辅助 P159--Selenium IDE 命令 在浏览器中打开URL,可以接受相对路径和绝对路径两种形式 open open(url) 单击链接 ...
- python_面向对象(6)
第1章 递归函数 1.1 概述 1.2 练习 1.3 二分查找 第2章 面向对象•类 2.1 类的介绍 2.2 书写格式 2.3 类的属性 2.4 self介绍 2.5 类属性补充 2.6 调用查看静 ...
随机推荐
- Java 多重catch语句的具体使用介绍
某些情况,由单个代码段可能引起多个异常.处理这种情况,你可以定义两个或更多的catch子句,每个子句捕获一种类型的异常.当异常被引发时,每一个catch子句被依次检查,第一个匹配异常类型的子句执行.当 ...
- 【报错原因】Uncaught SyntaxError: Unexpected token <
实际上是当前页面引入的js文件路径找不到!!! 页面查找不到js文件自动跳转到404.html页面 域名+/404.html
- 用PHP实现反向代理服务器
什么是反向代理: 百度百科有云: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给int ...
- vue计算属性和侦听器
一.计算属性: main.js: var app = new Vue({ el: '#app', data: { math: 80, physics: 90, english: 30 }, compu ...
- springboot之jar包部署步骤
eclipse中: 1.单击整个项目 run as - maven clean - maven install 2.找到项目所在的路径 找到所有的jar包 3.把jar包放到linux对应的文件夹 l ...
- Yii1打印当前请求所有执行的SQL及耗时
我们在熟悉新的项目了解业务的时候,可以有很多方式.看项目文档说明:和了解项目身边的人沟通:通过自己度代码调试,但是一步步调试打印语句或许有点慢,如果可以调出当前请求的所有语句,那么很快可以熟悉他的业务 ...
- Bytom 移动端钱包SDK FAQ
比原链移动端钱包SDK项目地址:https://github.com/Bytom-Community/Bytom-Mobile-Wallet-SDK 1.客户端钱包SDK需要实现哪些功能? 创建密钥. ...
- websocket是如何进行建立连接与通信的?(简单理解)
握手过程: websocket-client端通过ws协议向websocket-server端发起连接请求前,首先在自己的请求头中添加Sec-Websocket-Key键值对,值为根据自己账号通过一定 ...
- Linux常用命令——压缩解压命令
Linux常用命令——压缩解压命令 Linux gzip 描述:压缩文件 语法:gzip [文件名] 压缩后文件格式:.gz gunzip 描述:解压后缀为.gz的文件 语法:gunzip [文件名 ...
- FZOJ P2109 【卡德加的兔子】
题目描述 卡德加喜欢养兔子.他在达拉然的下水道里放了 $N$ 个兔笼(编号从 $1$ 到 $N$),里面养着他从德拉诺带来的兔子.它们的繁殖遵循斐波那契数列的规律:刚开始时,笼子里有一对刚出生的兔子. ...