Python基础之数据类型与变量(三)

字典 dict

字典使用键-值对存储(key-value),具有极快的查找速度,其他语言中称map

>>> score = {"小明":90, "李刚":85, "张强":78}
>>> print(score["李刚"])
85

把数据存入已定义的字典

>>> score['赵钱']=88
>>> print(score)
{"小明":90, "李刚":85, "张强":78,"赵钱":88}

修改字典中key对应的值

>>> score['赵钱']=100
>>> print(score)
{"小明":90, "李刚":85, "张强":78,"赵钱":100}

在字典中,key必须是唯一的不重复,如果key不存在,则会抛出错误

>>>print(score['张亮'])
KeyError: '张亮'

为了避免不必要的异常,获取字典中的value,可通过get( )函数,如果没有这个key,则返回None,也可指定返回

>>> score = {"小明":90, "李刚":85, "张强":78}
>>> print(score.get("小明"))
90
>>> print(score.get("兰陵王"))  # key不存在,则默认返回None
None
>>> print(score.get("兰陵王",0)) # key不存在,则返回指定数据0
0

注:字典中的key必须是一个不可变对象,在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key

通过for循环遍历字典的key

score = {"小明":90, "李刚":85, "张强":78}
names = []
for name in score.keys(): # 遍历score字典的key
		names.append(name)
print(names)   #['小明', '李刚', '张强']

通过for循环遍历字典的value

score = {"小明":90, "李刚":85, "张强":78}
scores = []
for name in score.values(): # 遍历score字典的value
    scores.append(name)
print(scores)    #[90, 85, 78]

通过for循环同时遍历字典的key-value

score = {"小明":90, "李刚":85, "张强":78}
names = []
scores = []
for k,v in score.items(): # 遍历score字典的key-value
    names.append(k)
    scores.append(v)
print(names)  # ['小明', '李刚', '张强']
print(scores) # [90, 85, 78]

集合 set

集合与字典类似,但集合是key的集合,不储存value,同样集合中的元素唯一

>>> s1 = set([1,'a',2,'b'])
>>> print(s)
{1, 2, 'b', 'a'}

重复元素在集合中被过滤

>>> s2 = set([1,1,2,'a','a'])
>>> print(s2)
{1, 2, 'a'}

 

在集合中添加元素 add(key)

>>> s2.add(3)
>>> print(s2)
{1, 2, 'a', 3}

在集合中删除元素remove(key)

>>> s2.remove(3)
>>> print(s2)
{1, 2, 'a'}

格式化

我们在输出字符串时经常需要格式化输出,例如:“你好xxx先生,你的订单xxxxxxxxx已经发货!”这个字符串中的xxxx就需要通过变量格式化输出

在python中通过 % 来格式化输出,在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%占位符,后面就跟几个变量或者值,顺序要对应好

>>> print("Hello, %s" % "Jie")
Hello, Jie
>>> print("你好%s,祝你永远%d岁!"%("Jie",18))
你好Jie,祝你永远18岁!
>>> print("你输入的金额是:%.2f" % 1.78) # 保留2位小数
你输入的金额是:1.78

通过变量格式化输出

>>> a = "Jack"
>>> print("Hello, %s!" % a)
Hello, Jack!

占位符

 通过format( )格式化字符串

>>> print("你好{},你的订单{}已经发货!".format("Jie",158372858928))
你好Jie,你的订单158372858928已经发货!
>>> print("你好{1},你的订单{0}已经发货!".format(158372858928,"Jie")) # 在占位符{}中添															   索引,对应format中的字符
你好Jie,你的订单158372858928已经发货!

f-string 格式化字符串(Python3.6及以上版本支持)

以 f 开头的字符串,字符串中如果包含{xxx},就会用对应xxx变量替换

>>> a = "Jie"
>>> print(f"你好,{a}!")
你好,Jie!
>>> p = 3.1415926
>>> print(f"圆周率为{p:.2f}") # {p:.2f}被变量p代替,并且:后面的.2f指定了格式参数,即保留2位小数
圆周率为3.14

任务:

分别用三种格式化输出方式打印 “你好,我叫xxx,我最爱的编程语言是xxx”

Python常用运算符

数学运算符(+,-,*,/, %, //, **)

>>> a = 5
>>> b = 3
>>> print(a+b) # 加法,两数这和
8
>>> c = "abc"
>>> d = "xyz"
>>> print(c+d) # 字符串拼接
"abcxyz"
>>> print(a-b) # 减法,两数之差
2
>>> print(a*b) # 乘法,两数之积
15
>>> print(a/b) # 除法,两数之商
1.6666666666666667
>>> print(a%b) # 取余, 返回余数
2
>>> print(a//b) # 取整除,返回商整数部分(向下取整)
1
>>> print(a**b) # 幂运算
125

赋值运算符(=, +=, -=, *=, /=,%=,**=,//=)

>>> a = 10  # 将整数10赋值给变量a
>>> b = 21
>>> c = 0
>>> c = a + b # 将a+b 赋值给变量c
>>> c += 1 # 加法赋值运算,c = c+1
>>> a -= 1 # 减法赋值运算,a = a-1
>>> a *= 10 # 乘法赋值运算,a = a*10
>>> a /= 10 # 除法赋值运算,a = a/10
>>> a %= 10 # 取模赋值运算,a = a%10
>>> a **= 10 # 幂赋值运算,a = a**10
>>> a //=10 # 取整除赋值运算,a = a//10

比较运算符(==,!=,>,<,>=,<=)

>>> a = 10
>>> b = 20
>>> a == b # 等于,比较对象是否相等,返回布尔值
False
>>> a != b # 不等于,比较两对象是否不相等,返回布尔值
True
>>> a > b # 大于,返回布尔值
False
>>> a < b # 小于,返回布尔值
True
>>> a >= b # 大于等于,返回布尔值
False
>>> a <= b # 小于等于,返回布尔值
True

比较运算符在条件判断中有重要作用

逻辑运算符(and,or,not)

>>> a = 10
>>> b = 5
>>> a>3 and a>b # 与运算,and两边都为真时返回True,有一个为False则返回False
True
>>> a>20 or b>b # 或运算,or两边只要有一个为真,则返回True
True
>>> not a>20 # 非运算,not后面如果为True,则返回False,如果为False,则返回True
True

 

课后拓展:

1、了解成员运算符(in ,not in),身份运算符( is, is not)

2、了解is 与 == 的区别

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值