AI智能
改变未来

python集合与函数(一)


字典的遍历

字典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])a1男

通过value值进行获取value内容

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

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

同时获取key值和value内容:

for k,v in d.items():print(k)print(v)nameaage1sex男

集合

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

  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 = 1b = 2fn(a,b)\'\'\'

关键字传参

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

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

作用域

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

def fn(a,b):a = 2b = 3print(a+b)print(a)print(b)fn(a=2,b=1)\'\'\'结果是:523\'\'\'
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » python集合与函数(一)