python:部分内置函数:set,split...

关于python的部分程序设计内置函数用法

在学习当中,积累当然是最重要的啦,简单分享一下我积累的一些函数用法,有新的内容我都会写在上面,当然方便了不爱整理的我,也希望能帮到每个爱学习的人。

一、set用法:

1.set集合是无序的,所以不存在索引。

2.set集合中的每个元素都是不重复的。

a=set(input().split())#split用法后面有讲到
print(a)
#输入内容:12 12 1
#运行结果('12', '1')

3.set集合中的每个元素是不可哈希的。
可哈希(hashable):不可变的数据结构(字符串str、元组tuple、对象集objects、浮点数float、复数complex、frozenset(返回一个冻结的集合,冻结后集合不能再添加或删除任何元素)
不可哈希(unhashable):可变的数据结构 (字典dict,列表list,集合set)

  • 可哈希作用:将大体量数据转化为很小数据的过程,甚至可以仅仅是一个数字,以便我们可以用在固定的时间复杂度下查询它,所以,哈希对高效的算法和数据结构很重要。

4.增删改查:

①. 增加

add 当添加的内容重复时,不会添加#因为set去重复

a=set((1,2,3,4,4,5))#集合只能有一个参数,所以在括号内还需一个括号
a.add(7)
print(a)
print(type(a))
#运行结果{1, 2, 3, 4, 5, 7}#以set类型输出
#<class 'set'>

update 迭代添加

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
x.update(y) 
print(x)
#运行结果{'microsoft', 'google', 'cherry', 'banana', 'apple'}

②.删除:

pop : 随机删除

remove: 直接删除元素 ,当需要删除的元素不存在时会报错
这两种用法和增添类似

③.修改

因为set集合本身是无序的,所以不存在索引也无法直接修改,当有元素需要修改时则需先将元素删除
再将元素从新添加到set集合中

④.查询
    
利用set集合是一个可迭代对象的特性可以运用for循环来查询

x = {"a", "b", "c"}
y = {"d", "e","f" }
x.update(y)
for i in x:
    print(i,end=',')
#运行结果:a,c,e,f,d,b,
#第二次:d,a,b,e,c,f,

由上述代码的运行结果也可以得出set是无序的
#以上就是set的部分内容,如有错误,敬请指出
#----------------------------------------------------------------------------
二:split用法:
①分割:
split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。

stan='lisa and iu and eminem , so handsome'
stan1=stan.split('i',num)#字符串的拆分,将其拆解为num+1个
					   #默认为-1也就是全部拆分
					   #数字为0时不拆分

②输入:
当你在为如何在键盘一次性输入多个数,嘿嘿,这时就可以用split来解决,
话不多说,上代码

a=input().split()#
print(type(a))
#运行结果:<class 'list'>

也可在a=input前面加上你想变要的数据类型比如:tuple,list …。
结合上一个讲解内容我们可以这样搞:a=tuple(set(input().split()))tuple表示以元组方式输出,set就是就算输入相同内容但是会去掉重复,可能有的小伙伴会说这有什么意义?当然没意义了。。。但是有的比赛会有这种变态的要求~不参加比赛那就另说。

  • 我在敲代码时,发现了一个好用的写法:
  • L=[int(i)for i in range(x)]如果想得到一个迭代器你们就把[]改为()
    有的初学者可能看不明白,我再把展开的敲下来吧.x为数字

l=[]
for i in range(x):
l.append(i)
print(l)

这样就能得到和上面一样的效果。但是上面的写法比较简洁

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

弈鸣coding

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

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

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

打赏作者

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

抵扣说明:

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

余额充值