关于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)
这样就能得到和上面一样的效果。但是上面的写法比较简洁