python基础06

python基础06

3.4.4字典_删除

(1)pop()

可以指定键名进行删除,并且可以返回删除的数据。如果没有这个键,则报错

(2)popitem()

用来删除键值对,从末尾删除数据,并且可以返回删除的数据

(3)del 和 del()

可以指定键名进行删除,也可直接删除字典

(4)clear()

字典名.clear()可以清空字典,得到一个空字典,返回None

3.4.5字典常用操作

(1)len():测量字典中键值对的个数

(2)keys:字典名.keys()

返回一个包含字典所有键名的列表

(3)values:字典名.values()

返回一个包含字典所有值的列表

(4)items:字典名.items()

返回一个包含所有(键,值)元组的列表

(5)has_key (注意:在python3中没有这个方法了,python2中有)

dict1.has_key(key)如果key在字典中,返回True,否则返回False

3.4.6字典的遍历

(1)遍历字典的key(键)

for temp in dict1.keys()

print(temp)

(2)遍历字典的value(值)

for temp in dict1.values()

print(temp)

(3)遍历字典的项(元素)

for temp in dict1.items()

print(temp)

(4)遍历字典的键值对

for temp in dict1.items()

print("%s:%s"%(temp[0],temp[1]))

Or:

for key,value in dict1.items()

print(key)

print(value) #注:此处的key和value可以是其它字母

(5)实现带下标索引的遍历

chars = [‘a’, ‘b’, ‘c’, ‘d’]

i = 0

for chr in chars:

print("%d %s"%(i, chr))

i += 1

Or:

chars = [‘a’, ‘b’, ‘c’, ‘d’]

for i, chr in enumerate(chars):

print i, chr

3.4.7字典推导式

需求:1:1,2:4,3:9…

dict1 = {i:i ** 2 for i in range(10)}

print(dict1)

字典推导式应用:

①将两个列表合并成一个字典☆☆☆

list1 = [‘name’,‘age’]

list2 = [‘gui’,‘30’]

dict1 = {list1[i]:list2[i] for i in range(len(list1))}

print(dict1)

②将一个字典拆成两个列表

dict1 = {‘name’:‘gui’,‘age’:18}

key_list = []

val_list =[]

for key,value in dict1.items():

key_list.append(key)

val_list.append(value)

print(key_list)

print(val_list)

3.5元组

元组与列表类似,但不同之处是元组中的元素是不可以改变的;若元组中套有列表或者字典,则套的列表或字典中的数据是可以修改的。元组用小括号。

例:

t3 = (1,2,[10,20,30])

t3[2][1] = 200

print(t3)

注意:创建元组时,如果元组中只有一个数据,还想要类型是元组,必须在数据后加逗号
3.5.1访问元组

通过下标就可以访问

3.5.2元组的内置函数index和count

用法和列表中相同

3.6 集合

注意:集合中的元素不能是可变数据类型,即:集合中的元素不能是列表、字典、集合

集合不支持下标,是无序的。用{}

作用:列表去重☆☆☆

例:

list1= [1,2,3,1,2]

print(list(set(list1)))

#对list1进行去重

3.6.1创建集合set()

(1)手动创建:set = {1,2,3}

(2)用set方法创建(创建空集合时仅能用此方法)

set1 = set()

3.6.2集合添加数据

(1)add():一次添加一个数据

set1.add(100)

(2)update()添加多个数据,参数是一个列表

set1.update([1000,2000,3333])

3.6.3集合删除数据

(1)remove() 没有就报错

set1.remove(1000)

(2)pop()

用pop删除数据,删除的是第一个数据,而且会返回删除的数据

set1.pop(2000)

(3)discard()

删除指定数据,如果没有这个数据,不做任何事

set1.discard(3333)

(4)del

3.6.4集合推导式

set2 = {i for i in range(10) if i%2 == 0}

print(set2)

3.6.5集合运算

(1)交集:&

(2)并集:| 包含所有不重复的数据

(3)差集:- 取减号前面的集合有的数据后面没有的数据

3.7拆包形式

(1)用for遍历

dict1 = {‘name’: ‘python’, ‘age’: 28}

for key,value in dict1.items():

print(key)

print(value)

(2)用变量赋值

s1, s2 = dict1.popitem()

print(s1)

print(s2)

d1, d2 = dict1

print(d1)

print(d2)

print(dict1[d1])

print(dict1[d2])

3.8公共方法

运算符

运算符Python 表达式结果描述支持的数据类型
+[1, 2] + [3, 4][1, 2, 3, 4]合并字符串、列表、元组
*[‘Hi!’] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]复制字符串、列表、元组
in3 in (1, 2, 3)True元素是否存在字符串、列表、元组、字典
not in4 not in (1, 2, 3)True元素是否不存在字符串、列表、元组、字典
+
>>> "hello " + "itcast"
'hello itcast'
>>> [1, 2] + [3, 4]
[1, 2, 3, 4]
>>> ('a', 'b') + ('c', 'd')
('a', 'b', 'c', 'd')
*
>>> 'ab' * 4
'ababab'
>>> [1, 2] * 4
[1, 2, 1, 2, 1, 2, 1, 2]
>>> ('a', 'b') * 4
('a', 'b', 'a', 'b', 'a', 'b', 'a', 'b')
in
>>> 'itc' in 'hello itcast'
True
>>> 3 in [1, 2]
False
>>> 4 in (1, 2, 3, 4)
True
>>> "name" in {"name":"Delron", "age":24}
True

注意,in在对字典操作时,判断的是字典的键

python内置函数

Python包含了以下内置函数

序号方法描述
1len(item)计算容器中元素个数
2del(item)删除变量
3max(item)返回容器中元素最大值
4min(item)返回容器中元素最小值
5range(start, end, step)生成从start到end的数字,步长为 step,供for循环使用

4.函数

4.1自定义函数

(1)定义函数的语法:

def 函数名(参数):

命令

(2)调用函数的语法:

函数名()

4.2函数的参数

(1)参数

参数分为形参和实参

函数定义时候写的参数是形参(形式上存在的)

函数调用的时候书写的参数是实参(实际真实存在的参数)

(2)注意

注意个数(定义和调用个数相等); 注意顺序(传参要一致) – 位置参数

一个参数只能接收一个值

参数定义顺序:位置参数——默认参数——不定长参数

4.3函数的返回值

(1)想要获得函数的返回值,用return关键字

return的作用:①返回值②会打断程序的执行

如果有多个返回值,会以元组的方式返回

(2)多个返回值:

例如:

def func1():

return 1+1,2+2 #多个返回值时必须是这样的格式:return 值1,值2

num1,num2 = func1()

print(num1)

print(num2)

4.4四种函数的类型

(1)没有参数,没有返回值

(1)没有参数,有返回值

(1)有参数,没有返回值

(1)有参数,有返回值

4.5函数关键字参数

关键字参数的概念仅仅针对函数的调用

关键字参数不受位置(顺序)的限制

例如:

def func1(name, age):

print(name)
 
print(age)

func1(name=‘python’, age=28) # name和age不能添加引号
注意:位置参数和关键字参数可以混用,但是关键字参数要放在位置参数的后面

如:func1(‘python’,age=2)

只要用了关键字参数,以后针对这个参数传值就必须是关键字形式传递

不需要注意传值的参数顺序

如果关键字传值,程序直接能观察出键和值的对应关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值