day14_数据类型之集合and字符串拼接and函数基础

day14_数据类型之集合and字符串拼接and函数基础

一、集合 set

set 集合特性

1.不同元素组成
2.无序
3.集合中元素必须是不可变类型

add(self, *args, **kwargs)

功能:添加
s = {1,2,3,4,5,6}
s.add('liyang')
s.add('2')
s.add(3)
print(s)
输出结果:{1, 2, 3, 4, 5, 6, 'liyang', '2'}

clear(self, *args, **kwargs)

功能:清空集合
s = {1,2,3,4,5,6}
s.clear()
print(s)
输出结果:set()

copy(self, *args, **kwargs)

功能:拷贝
s = {1,2,3,4,5,6}
v = s.copy()
print(v)
输出结果:{1, 2, 3, 4, 5, 6}

pop(self, *args, **kwargs)

功能:随机删除
s = {1,2,'liyang',4,'sun',6}
s.pop()
print(s)
输出结果:{2, 4, 6, 'liyang', 'sun'}

remove(self, *args, **kwargs)

功能:指定删除,不存在会报错
s = {1,2,'liyang',4,'sun',6}
s.remove('sun')
print(s)
输出结果:{1, 2, 4, 'liyang', 6}

discard(self, *args, **kwargs)

功能:删除元素不存在,不会报错
s = {1,2,'liyang',4,6}
s.discard('sun')
print(s)
输出结果:{1, 2, 'liyang', 4, 6}

intersection(self, *args, **kwargs)

功能:求交集(共有的部分)
pyton = ['liyang','sun','lili']
linux = ['liyang','sun']

pyton_linxu = []

for p_name in pyton:
    if p_name in linux:
        pyton_linxu.append(p_name)
        print(p_name)

python = ['liyang','sun','lili']
linux = ['liyang','sun']

p_s = set(python)
l_s = set(linux)
print(p_s.intersection(l_s))
print(p_s&l_s)
输出结果:{'sun', 'liyang'}

union(self, *args, **kwargs)

功能:求并集 (合并到一起,重复的部分去掉)
python = ['liyang','sun','lili']
linux = ['liyang','sun','xx','yy']

p_s = set(python)
l_s = set(linux)
print(p_s.union(l_s))
print(p_s|l_s)
输出结果:{'sun', 'xx', 'lili', 'liyang', 'yy'}

difference(self, *args, **kwargs)

功能:求差集(两个集合相减的结果)
python = ['liyang','sun','lili']
linux = ['liyang','sun','zz']

p_s = set(python)
l_s = set(linux)
print(p_s.difference(l_s))
print(p_s-l_s)
输出结果:{'lili'}

symmetric_difference(self, *args, **kwargs)

功能:交叉补集(求两个集合中不同的地方)
python = ['liyang','sun','lili']
linux = ['liyang','sun','zz']

p_s = set(python)
l_s = set(linux)
print(p_s.symmetric_difference(l_s))
print(p_s^l_s)
输出结果:{'lili', 'zz'}

difference_update

功能:求完差集,把结果赋值给集合
python = ['liyang','sun','lili']
linux = ['liyang','sun','zzz']

p_s = set(python)
l_s = set(linux)
p_s.difference_update(l_s)
print(p_s)
输出结果:{'lili'}

isdisjoint

功能:如果这两个集合没有交集就返回True
s1 = {1,2}
s2 = {3,4}
print(s1.isdisjoint(s2))
输出结果:True

issubset

功能:如果s1是s2的子集就返回True
s1 = {1,2}
s2 = {1,2,3,4}
print(s1.issubset(s2))
输出结果:True

issuperset

功能:如果s1是s2的父集就返回True
s1 = {1,2}
s2 = {1,2,3,4}
print(s2.issuperset(s1))
输出结果:True

update

update
功能:更新
s1 = {1,2}
s2 = {1,2,3,4}
s1.update(s2)
print(s1)
输出结果:{1, 2, 3, 4}

frozenset 定义不可变集合

s = frozenset('hello')
print(s)

列表去重复方法

name = ['liyang','liyang','sun']
name = list(set(name))
print(name)
输出结果:['sun', 'liyang']

二、字符串格式化

a.百分号字符串格式化

%s (表示所有类型)

msg = 'i am %s my age is %d' %('liyang',23)
print(msg)

浮点数(.2f表示保留2位)

tp1 = 'precent %.2f' % 99.66666
print(tp1)

打印百分比(%%

tp2 = 'precent %.2f %%' % 99.8888
print(tp2)

k,v的方式

tp3 = "i am %(name)s age %(age)d" % {'name':"liyang",'age':28}
print(tp3)

加颜色(+20表示加空格)

msg = 'i am \033[43;1m%(name)+20s\033[0m age is 23' % {'name':"liyang"}
print(msg)

sep分割符

print('root','x','0','1',sep=':')
输出结果:root:x:0:1

 

b. format 字符串格式化

指定元组索引

tp1 = "i am {0}, age {1}".format("liyang",18)
print(tp1)

指定k,v

tp2 = "i am {name}, age {age}".format(name="liyang",age=18)
print(tp2)

指定字典类型(加两个**)

tp3 = "i am {name}, age {age}".format(**{'name':"liyang",'age':18})
print(tp3)

{:s} {:d}

tp4 = "i am {:s}, age {:d}".format("liyang",28)
print(tp4)

定义列表

l = ["liyang",18]
tp5 = "i am {:s}, age {:d}".format(*l)
print(tp5)

三、函数

传参数:

def test(x):
    '''
    :param x: 整形数字
    :return: 返回计算结果
    '''
    y = 2 * x + 1
    return y
a = test(3)
print(a)

不传参数:

def test():
    '''
    :param x: 整形数字
    :return: 返回计算结果
    '''
    x = 3
    y = 2 * x + 1
    return y
a = test()
print(a)

PS:

函数定义返回值(return)当程序执行到return的时候,程序将停止执行函数内余下的语句。

函数没有定义返回值,默认返回一个None

过程:就是没有返回值的函数。

实例1:

def test01():
    msg = 'hello The little green forg'
    print(msg)

def test02():
    msg = 'hello liyang'
    print(msg)
    return msg

def test03():
    msg = 'test03'
    print(msg)
    return 1,2,3,4,'a',['liyang'],{'name':"liyang"},None

t1 = test01()
t2 = test02()
t3 = test03()

print(t1)
print(t2)
print(t3)
输出结果:
hello The little green forg
hello liyang
None
hello liyang
(1, 2, 3, 4, 'a', ['liyang'], {'name': 'liyang'}, None)

总结:
返回值=0;返回None
返回值=1;返回object
返回值>1;返回值tuple

函数参数:

1,位置参数:必须一一对应,缺一不可多一不可

def test(x,y,z):
    # x = 1 ,y=2 ,z=3
    print(x)
    print(y)
    print(z)
test(1,2,3)

2,关键字参数:无需一一对应,缺一不可多一不可

def test01(x,y,z):
    # x = 1 ,y=2 ,z=3
    print(x)
    print(y)
    print(z)
test01(y
=1,x=2,z=3)

3,默认参数

def test01(x,type='mysql'):
    print(x)
    print(type)
test01(
'hello')

参数组:

1,(*列表)

def test(x,*args):
    print(x)
    print(args)
    # print(args[0])
test(1,2,3,4,5,6)
test(1,['x','y','z'])
test(1,*['x','y','z'])

输出结果:
1
(2, 3, 4, 5, 6)
2
(['x', 'y', 'z'],)
('x', 'y', 'z')

2,(**字典)

def test(x,**kwargs):
    print(x)
    print(kwargs)
test(1,y=2,z=3)
输出结果:
1
{'y': 2, 'z': 3}

3,(**字典 *列表)

def test(x,*args,**kwargs):
    print(x)
    print(args,args[-1])   # 根据索引取值
    # print(kwargs,kwargs['z'])  # 根据key取值
    print(kwargs,kwargs.get('y'))  # 根据key取值
test(1,1,2,3,4,y=5,z=6)
test(1,*[1,2,3],**{'y':9})
输出结果:
1
(1, 2, 3, 4) 4
{'z': 6, 'y': 5} 6
1
(1, 2, 3) 3
{'y': 9} 9

 

转载于:https://www.cnblogs.com/-Sunny/p/8968413.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值