python 学习笔记3

1. dict字典

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

a. 定义

字典的组成:字典是由大括号{ }来包含其数据的,大括号内包含键和其对应的值,一对键和值成为一个项。键和值用冒号:隔开,项和项之间用逗号,号隔开。
空字典就是不包含任何项的大括号,像{ }这样就是一个空字典。 如:{‘name’: ‘wangyao’, ‘age’: 18} 、{‘host’: ‘hh’, ‘port’: 80} 注意:字典的键必须是不可变数据类型,如果用元组做键,那必须要保证元组内的对像也是不可变类型。可变数据类型对像不能做键。

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

b. 创建

比如d = { ‘name1’ : number1 , ‘name2’ : number2 }
字典是无序的,不能用索引下标那样的方法查找。它有自己特有的方法,就是通过键来查找。

>>>变量名[键名] 
值

c. 字典的方法

添加

字典添加方式如列表不同:字典变量名[新添加的键名] = 新键对应的值

删除

字典修改格式:字典变量名[要修改值对应的键名] = 新值

修改

字典删方法常见有三种,作用也不同。下面简单说下这些方法的格式,具体作用和技巧类的方法在深入学习时会和大家介绍。
1、del方法:删除键对应的值,del空格 变量名[键名],如果只写变量名就是删除此字典
2、clear方法:清空字典内容,变量名.clear()
3、python pop方法:删除键对应的值,但它会把对值的应输出后再删除

ps :获取所有的键(key) 用keys()函数,获取所有的值(values)用values()函数,获取所有键值对 用items()函数

也可以用for 进行遍历里面的键或者值

2. 集合set

a… 特性

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

要创建一个set,需要提供一个list作为输入集合。

b 创建

创建一个1,2,3的集合

>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}

而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。

重复元素在set中自动被过滤

>>> s = set([1,1,2, 2, 3])
>>> s
{1, 2, 3}

c. 方法

add()

通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:

>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}

remove(key)

>>> s.remove(4)
>>> s
{1, 2, 3}

replace()

对于可变对象,比如list,对list进行操作,list内部的内容是会变化的,比如:

>>> a = ['c', 'b', 'a']
>>> a.sort()
>>> a
['a', 'b', 'c']

而对于不可变对象,比如str,对str进行操作呢:

>>> a = 'abc'
>>> a.replace('a', 'A')
'Abc'
>>> a
'abc'

虽然字符串有个replace()方法,也确实变出了’Abc’,但变量a最后仍是’abc’,应该怎么理解呢?

我们先把代码改成下面这样:

>>> a = 'abc'
>>> b = a.replace('a', 'A')
>>> b
'Abc'
>>> a
'abc'

要始终牢记的是,a是变量,而’abc’才是字符串对象!有些时候,我们经常说,对象a的内容是’abc’,但其实是指,a本身是一个变量,它指向的对象的内容才是’abc’:

┌───┐ ┌───────┐
│ a │─────────────────>│ ‘abc’ │
└───┘ └───────┘
当我们调用a.replace(‘a’, ‘A’)时,实际上调用方法replace是作用在字符串对象’abc’上的,而这个方法虽然名字叫replace,但却没有改变字符串’abc’的内容。相反,replace方法创建了一个新字符串’Abc’并返回,如果我们用变量b指向该新字符串,就容易理解了,变量a仍指向原有的字符串’abc’,但变量b却指向新字符串’Abc’了:

┌───┐ ┌───────┐
│ a │─────────────────>│ ‘abc’ │
└───┘ └───────┘
┌───┐ ┌───────┐
│ b │─────────────────>│ ‘Abc’ │
└───┘ └───────┘
所以,对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。

3. 判断语句

与C语言不同的是,C语言采用{ }进行条件语句限制。Python采用的是缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。

也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了。

C语言当中的else if在Python中的格式改为了elif。

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

4. 三目表达式

x= 50
y = 25
small = x if x<y else y
print(small)

结果1 if 条件 else 结果2
没有冒号

5. 循环语句

for…in循环

Python的循环有两种,一种是for…in循环,依次把list或tuple中的每个元素迭代出来

sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x
print(sum)

得到结果55

while循环

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

break

在循环中,break语句可以提前退出循环

n = 1
while n <= 100:
    if n > 10: # 当n = 11时,条件满足,执行break语句
        break # break语句会结束当前循环
    print(n)
    n = n + 1
print('END')

continue

用continue语句跳过某些循环

n = 0
while n < 10:
    n = n + 1
    if n % 2 == 0: # 如果n是偶数,执行continue语句
        continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
    print(n)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值