您的位置:首页 > 编程语言 > Python开发

python集合与函数(一)

2020-09-03 11:04 211 查看

字典的遍历

字典key值和value值的遍历:

d = {'name':'a','age':1,'sex':'男'}
print(d.keys())
print(d.values())
dict_keys(['name', 'age', 'sex'])
dict_values(['a', 1, '男'])

通过key值进行获取value内容:

d = {'name':'a','age':1,'sex':'男'}
for k in d.keys():
print(d[k])
a
1
男

通过value值进行获取value内容

for v in d.values():
print(v)

主要上面2个获取value值时,输出时的语法存在不同

同时获取key值和value内容:

for k,v in d.items():
print(k)
print(v)
name
a
age
1
sex
男

集合

集合与列表非常相似,他们之间的不同点有:

  1. 集合只能存储不可变对象
  2. 集合中存储的对象是无序的
  3. 集合中存储的对象不能重复(不是按照元素的插入顺序来存储的)
    集合的表现形式:集合名称 = {1,2,3,4},如果 d = {},当元素为空时,默认是字典类型
    集合格式及类型的示例:
d = {1,2,3,4,5}
print(d,type(d))
{1, 2, 3, 4, 5} <class 'set'>

插入数据的变化:
集合插入元素的示例:

d = {1,2,3,4,5}
d.add(10)
d.add(100)
print(d)
{1, 2, 3, 4, 5, 100, 10}#插入的顺序数据,在集合中是无序的

集合中只能添加不可变的元素
set()函数创建集合
示例:

d = set([1,2,3,4])
print(d,type(d))
{1, 2, 3, 4} <class 'set'>

集合是不支持索引的,因为集合中的元素本身都是无序的
如果非要查看某个索引位置的值,示例:

d = set([1,2,3,4])
print(list(d)[0])

以列表的形式输出该索引位置的value值
add()添加集合元素
update(),将2个集合进行合并,后者合并到前者:a .update(b)—>将集合b合并到集合a,在合并的后请注意:

  1. 合并时,只把集合b在集合a中没有的元素进行合并,集合a和集合b中相同的元素是不会合并的
    示例:
a = {1,2,3,4,5}
b = {2,3,4,5,6,7}
a.update(b)
print(a)
{1, 2, 3, 4, 5, 6, 7}

**pop()随机删除一个元素,a.pop()
remove()指定删除一个元素,a.remove(要删除的值)
pop()与remove()的区别:

  • pop()是随机删除,有返回值
  • remove()是指定删除值,无返回值**
    clear()清楚全部内容,a.clear()

集合的运算

& 交集运算
| 并集运算
-差集运算
^ 异或运算
<= 检查一个集合是否是另一个集合的子集
< 检查一个集合是否是另一个集合的真子集

>= 检查一个集合是否是另一个集合的超集
> 检查一个集合是否是另一个集合的真超级

a = {1,2,3}
b = {1,2,3,4,5,6,7}
print(a&b)
print(a|b)
print(b-a)
print(a^b)
'''
对应的结果:
{1, 2, 3}
{1, 2, 3, 4, 5, 6, 7}
{4, 5, 6, 7}
{4, 5, 6, 7}
'''

函数

函数也是一个对象
对象是内存中专门用来存储数据的一块区域

函数的格式:
def 函数名称(形参):
代码块
函数名称(实参)

说明:

一般情况下形参个数和实参一致,遇到带有“*”则可以不一样

参数传值方式:

一一对应传参

示例:

def fn(a,b):
print(a+b)
fn(1,2)
'''
结果是:
3
'''
#1传值给a,2传值给b,与下面的这种方式一致
'''
def fn(a,b):
print(a+b)
a = 1
b = 2
fn(a,b)
'''

关键字传参

利用“=”进行关键之传参,关键字传参不受一一对应限制
示例:

def fn(a,b):
print(a+b)
print(a)
print(b)
fn(a=2,b=1)

作用域

在给参数赋值时,遵守的原则(优先级):局部参数赋值>函数间的参数赋值>公共区间函数数值
示例:

def fn(a,b):
a = 2
b = 3
print(a+b)
print(a)
print(b)
fn(a=2,b=1)
'''
结果是:
5
2
3
'''
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: