Python数据结构系列3--集合 set

关键词:集合,SET,GIT
清晨的薄雾笼罩着远方的树林,太阳洒下的尘光驱逐者她,不久,风也加入了这场嬉闹,而我,只是一个看客,渐行渐远。

1.1 概念与理解


理解:set就是一个集合,没错,就是大家高中数学第一节课的内容。集合的特性:无序性,互异性,确定性。集合用{}来表示。集合有啥操作,它就有啥!

1.2 创建set:{}

##直接{}就好了
exampleSet={1,2,3,4,5,1,"oqjdm",9,0,0}
exampleSet 
#output: {0, 1, 2, 3, 4, 5, 9, 'oqjdm'} 
#注:上面的顺序是为了方便我们查看,其实内部是无序排列的。

1.3 基本操作——增删改查

1.3.1 CURD——CREATE

#1.通过add()方法增加新元素,如果集合没有这个元素,则添加,如果有,不添加,且不报错
exampleSet.add(88)
print(exampleSet)
exampleSet.add("oqjdm")
print(exampleSet)

1.3.2 CURD——DELETE

#2.通过remove()方法删除元素,有则删除,没有,报错
exampleSet.remove("oqjdm")
print(exampleSet)
#exampleSet.remove("oqjdm")
#print(exampleSet)

1.3.3 CURD——READ

#3.因为集合是无序的,所以没有索引,要查看元素,只能遍历集合
for i in exampleSet:
    print(i)
  #或者可以判断在不在集合
print(0 in exampleSet)
print(99 in exampleSet)

1.3.4 CURD——UPDATE

关于集合的改:不能通过索引来定位元素(集合没有索引),所以想要修改元素只能先删除,然后添加。

#1. 先删除元素
exampleSet.remove("oqjdm")
print(exampleSet)
#2. 重新写入元素
exampleSet.add("oqjdm")
print(exampleSet)

1.4 基本操作——并交差补

#创建集合
sampleF={1,2,3,4,5,6}
sampleS={4,5,6,7,8,9}

符号表示:并集——“ | ”,交集——“ & ”,差集——“ - ”,补集——“ ^ ”

#1.并集
print(sampleF|sampleS)
#2.交集
print(sampleF&sampleS)
#3.差集
print(sampleF-sampleS)
print(sampleS-sampleF)
#4.补集
print(sampleF^sampleS)

1.5 其他操作

#1.对list操作,产生对应的set
sampleList=[1,2,1,2,3,4,"shiguang"]
print(set(sampleList))
#2.对tuple操作
sampleTuple=(1,2,3,1,1,2,"suiyue")
print(set(sampleTuple))
#3.对str 操作,拆散与拼接
sampleStr="shiguangdaiworuchu"
print(set(sampleStr))
print("-".join(set(sampleStr)))
#4.对dictonary 操作,默认取出keys
sampleDict={
    "name":"张三",
    "sex":"boy",
    "age":23,
    "bobby":"play game"
}
print(set(sampleDict))
print(set(sampleDict.values()))
print(set(sampleDict.items()))

1.6 好用的托管工具:git

Fir.git 的四种状态

Sec.git操作的三个区

工作区:我们所打开文件夹

暂存区:中间过程,也就是我们git命令操作的这个过程

仓库区:最终结果,我们要把修改好的暂存区中的文件交给这个git仓库管理

      1).Untracked;未被追踪,文件名为红色,符号为??

      2).Staged:暂存区,所增加的文件暂时存储在这儿

      3).Unmodified:未被修改,文件的最终状态,表示提交完成,提示语句:nothing to commit, working tree clean

      4).Modified:文件被修改,未放入暂存区,文件名为红色,符号为M;文件被修改,放入暂存区,文件名为绿色,符号为M

我们按照一个完整的托管流程来学习

第一部分:配置git

Fir:设置用户名与邮箱,方便查找与联系,命令(注意空格):

git config user.name "XXX"

git config user.email "***@***.***"

第二部分:提交文件

打开项目所在目录

Fir:初始化要托管的项目,命令(注意空格):

git init

Sec:添加要托管的项目,命令(注意空格):

单个文件托管:git add file(文件名).***(文件格式)

全文件夹文件托管:git add .

Thi:提交已添加到暂存区的项目,命令(注意空格):

git commit -m "提交成功的提示信息"

For:检查文件状态,看有无遗漏,命令(注意空格):

全语句:git status

简短语句:git status -s 或者 git status --short

第三部分:修改文件

Fir:发现修改的文件有错误,需要撤回,命令(注意空格):

git checkout --file(文件名).***(文件格式)

Sec:把修改后的文件添加到暂存区,命令(注意空格):

git add file(修改过的文件名).***(文件格式)

Thi:把暂存区中已修改的文件提交,命令(注意空格):

git commit -m "提交成功的提示信息"

第四部分:移除文件

Fir:移除暂存区中的文件,命令(注意空格):

git reset HEAD file(文件名).***(文件格式)

Sec:移除git仓库中的文件,命令(注意空格):

git rm --cached file(文件名).***(文件格式)

Thi:移除工作区与git仓库的文件,命令(注意空格):

git rm -f file(文件名).***(文件格式)

For:跳过add提交修改后的文件,命令(注意空格):

git commit -a -m "提交成功提示消息"

第五部分:恢复文件

Fir:先要查看历史记录,命令(注意空格):

查看所有历史记录:git log

查看最近几条记录:git log -n

记录用一行来显示:git log --pretty=oneline

Sec:恢复版本,命令(注意空格):

查看所有历史记录:git reset --hard [id](显示的那一长串值,hash值)

Thi:恢复已经恢复的版本,命令(注意空格):

1.查看记录:git reflog

2.恢复版本:git reset --hard [id]

第六部分:与远程仓库建立连接

(这个也可以在第二部分完成,即配置完成后即可与远程仓库连接)

1.有两种方式分别为HTTP与SSH

Fir:HTTP:0配置,但每次传送数据需要登录。

Sec:SSH (推荐使用):需要额外配置,但不需要重复登录。

2.使用HTTP连接:

Fir:已经初始化了本地仓库

连接:git remote add origin https://github.com/[username]/[project-name].git

传输:git push -u origin master

等待:等待弹出登录界面,登录就算成功了。

Sec:没有初始化本地仓库

初始化本地仓库:git init

提交要托管的项目 (举例为全部提交):git commit -a -m "成功提示"

初始化了本地仓库。

3.使用SSH连接:

Fir: 没有私钥:

 1.生成密钥,输入:ssh-keygen -t rsa -b 4096 -C "自己的注册github的邮箱",然后按3次Enter键

2.去github绑定

 3.检验是否绑定成功:ssh -T git@github.com

Sec: 已经有私钥并且绑定完成:

1.输入:git remote add origin git@github.com:[username]/[project-name].git

传输:git push -u origin master

5.两种方式只能选择一个,想要用另一个需要销毁原有连接

输入:git remote remove origin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落寞红颜玉玫瑰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值