字典是Python中存储数据的一种方式,Python字典中可以用 keys() 命令获取一个字典中的所有的键。而元组是存放多个数据的容器,和列表很像。
in 和 not in
如何判断一个元素是否在列表中?
我们可以使用 元素 in 列表 的方法,判断一个元素是否在列表中!
<br />
pencil_box = ['pen', 'ruler', 'eraser']<br />
a = 'ruler'<br />
if a in pencil_box:<br />
print('Yes')<br />
关键词 in 也可以用于循环中,实现列表的遍历
<br />
for x in ['A', 'B', 'C']:<br />
print(x, end='')<br />
运行结果
ABC
判断元素不在列表中,我们可以使用 not in 列表
not in 是 不在…中 的意思,它的用法与 in 类似。
<br />
seasons = ['春天', '夏天', '秋天', '冬天']<br />
a = '早晨'<br />
if a not in seasons:<br />
print(a, '不是季节')<br />
运行结果
早晨 不是季节
print()多参数
我们如何在print()命令中再添加一个参数 ?
print(参数1, 参数2)
这样,我们就可以将两个参数打印在同一行了。要注意,打印的结果中,两个值之间会有空格隔开。
<br />
print(23,4,56)<br />
运行结果
23 4 56
<br />
a = 'xiaowangzi'<br />
print(a, 7)<br />
运行结果
xiaowangzi 7
字典
字典是Python中存储数据的一种方式,Python字典中可以用 keys() 命令获取一个字典中的所有的键。而元组是存放多个数据的容器,和列表很像。
字典名称 = {键:值, 键:值}
<br />
gender = {'xiangwangzi':男, 'xiaohua':女, 'kevin':男}<br />
print(gender)<br />
字典里的key不可以重复,是唯一的。但value可以重复。
查找字典中的值
在Python中可以通过字典的键key来查找它对应的值value。
字典名称[键key]
<br />
trees = {'松树':120, '玉兰树':50, '槐树':70}<br />
a = trees['玉兰树']<br />
print(a)<br />
运行结果
50
修改字典中的值
也可以根据字典中的key查找对应的值value,然后再修改这个value值。
<br />
trees = {'松树':120, '玉兰树':50, '槐树':70}<br />
trees['玉兰树'] = 60<br />
print(trees)<br />
运行结果
{‘松树’:120, ‘玉兰树’:60, ‘槐树’:70}
字典的遍历
可以使用for循环遍历字典
<br />
trees = {'松树':120, '玉兰树':50}<br />
for i in trees<br />
print(i,trees[i])<br />
运行结果
松树 120
玉兰树 50
在字典中, 使用key in 字典名称的方法可以判断字典中是否包含这个键。
<br />
trees = {'松树':120, '玉兰树':50}<br />
if '玉兰树' in trees:<br />
print('YES')<br />
字典和列表的对比
字典和列表都是python中常见的数据结构。
列表:由一系列值组成的数据结构,用数字索引来获取它的元素 索引取值
字典:对键值对的形式来存放数据的,通过键来获取对应的值。
列表
<br />
name = ['kevin', 'xiaowangzi', 'wangzi']<br />
print(name[1])<br />
字典
<br />
age = {'kevin':7, 'xiaowangzi':10, 'wangzi':23}<br />
print(age['xiaowangzi'])<br />
keys()命令
python字典中可以用 keys() 命令获取一个字典中的所有的键。
字典名称.keys()
<br />
age = {'kevin':7, 'xiaowangzi':10, 'wangzi':23}<br />
print(age.keys())<br />
运行结果
[‘kevin’, ‘xiaowangzi’, ‘wangzi’]
如何判断要查询的key是否存在?
可以用keys()命令得到所有的键,再用关键词 in 来判断要查询的 key 在不在它们之中。
<br />
info = {'01':'苹果', '02':'脐橙', '03':'香蕉'}<br />
n = '02'<br />
if n in info.keys():<br />
x = info[n]<br />
print(x)<br />
else:<br />
print('没有这个水果')<br />
运行结果
脐橙
values()命令
python字典中可以用 values() 命令获取一个字典中的所有的值。
字典名称.values()
<br />
age = {'kevin':7, 'xiaowangzi':10, 'wangzi':23}<br />
x = age.values()<br />
print(x)<br />
运行结果
[7,10,23]
新增键值
格式:
字典名称[key] = value
<br />
dict = {'飞机': 12}<br />
dict['火车'] = 9<br />
print(dict)<br />
运行结果
{‘飞机’:12, ‘火车’:9}
字典中的 key 是唯一的,一个字典中不会出现相同的 key 。 所以如果新添加的key在字典中存在,那么只会修改 key 对应的 value ,而不会增加新的键值对。
<br />
dict = {'飞机': 12}<br />
dict['飞机'] = 9<br />
print(dict)<br />
运行结果
{‘飞机’:9}
字典的综合运用
任务:完成数据库系统
三个功能:
- 退出功能
- 查询数据功能
- 添加数据功能
<br />
data = {'机器学习核晶':'反转乾坤', '大数据核晶':'数据回溯', '人工智能核晶':'裁决', '马文明斯基核晶':'智能创造'}<br />
while True:<br />
cmd = input()<br />
if cmd == 'q':<br />
print('退出')<br />
break<br />
elif cmd == 's':<br />
name = input()<br />
if name in data.keys():<br />
print(data[name])<br />
else print('没有查询到数据!')<br />
elif cmd == 'a'<br />
name = input()<br />
name = func()<br />
data[name] = func<br />
print(data)<br />
else<br />
print('指令无效!')<br />
元组
元组:存放多个数据的容器,和列表很像。 注意: 元组中的元素是不可以被修改的。
创建
要创建一个元组,需要使用小括号,括号里填入多个元素,并用逗号分隔开。
<br />
tup = ('幼年', '少年', '青年')<br />
如果要创建的元组只包含一个元素,在定义元组时,在元素的后面加一个逗号,否则括号会被当作运算符使用。
可以往元组里存放不同类型的数据,比如字符串,数字等,各元素的数据类型也可以不相同。
<br />
tup = (0, 1, 'Hello', 'World')<br />
索引
元组的索引同样是从0开始。
data = (‘A’, ‘B’, ‘C’)
索引 0 1 2
<br />
data = ('春', '夏', '秋', '冬')<br />
print(data[2])<br />
运行结果
秋
索引也可以从尾部开始,最后一个元素的索引为 -1, 倒数第二个元素的索引为 -2,以此类推。
data = (‘A’, ‘B’, ‘C’)
索引 -3 -2 -1
<br />
data = ('风', '雨', '雷', '电')<br />
print(data[-2])<br />
运行结果
雷
切片
想要获取元组中连续的一段元素,可以通过元组的切片来实现。元组切片得到的是一个新的元组。
元组名称[索引1:索引2
<br />
data = ('A', 'B', 'C', 'D', 'E')<br />
print(data[1:4])<br />
运行结果
‘B’, ‘C’, ‘E’
切出的新元组包含起始索引对应的元素,但不包含结束索引对应的元素。
当需要获取某一位置之前的所有元素,可以省略冒号前面的索引;当需要获取某一位置之后的所有元素,可以省略冒号后面的索引。
示例中的元组data,想要切片的得到’D’之 前的元素(不含’D’),可以书写代码:data[:3]
tuple()命令
使用tuple()命令可以将列表转换成元组。 tuple 是元组的意思。
<br />
height = ('12', '10', '8', '11', '5', '3')<br />
height.remove(11)<br />
tup = tuple(height)<br />
print(tup)<br />
运行结果
(12, 10, 8, 5, 3)
可以使用列表名 .remove()的方式, 删除列表中的指定元素。remove()括号中,填入 的是 需要删除的元素。
index()命令
列表的index()命令可以获取指定元素的索引
列表名.index()
<br />
info = ['G', 'O', 'O', 'D']<br />
print(info[1])<br />
运行结果
1
当列表有两个相同的元素时,index()得到是第一个元素的索引。
<br />
height = ('12', '10', '8', '6', '9', '3')<br />
height.remove(9)<br />
a = height.index(10)<br />
height.insert(a,11)<br />
tup = tuple(height)<br />
print(tup)<br />
运行结果
(12, 11, 10, 8, 6, 3)
可以使用列表名.insert()的方式, 向列表中插入元素。括号中第一个参数表示需要插入的索引位置,第二个参数表示需要插入的元素。
可变循环
range()参数
书写for循环时,要在range( )函数中设置参数:开始值和结束值,来确定循环变量的取值范围。
range(start, stop)
<br />
for i in range(1, 4)<br />
print(i)<br />
运行结果
1
2
3
range(1,4)返回的是一个整数序列,这个序列包含开始值1,但并不包含结束值4。
结束值是不可以被省略的,当range()函数只有1个参数时,这个参数就是结束值。此时,开始值默认为0,计数从0开始。
print()不换行
end 是print()命令的一个参数,用来设定打印结果以什么结尾。
print(打印内容,end = 结尾内容 )
省略参数end时,默认end= ‘\n’,\n是换行符,所以执行print()命令会默认换行。我们可以把end设为其他字符串。
<br />
print(1)<br />
print(2)<br />
运行结果
1
2
<br />
print(1,end='')<br />
print(2)<br />
运行结果
12
<br />
print(1, end=' ')<br />
print(2)<br />
运行结果
1 2
循环的步长
也可以在range()函数中再添加一个参数,让变量 i 每次都增加相同的数值,这个参数叫做“步长”
步长:可省略,省略时默认步长为1。
range(start, stop, step)
<br />
for i in range(1, 6, 2)<br />
print(i, end=' ')<br />
运行结果
1 3 5
可以将步长设置为一个负数,使循环变量有规律地减小。
例如下列代码,步长值为负1,循环变量 i 从3开始,每次循环减少1,执行程序,会打印出3、2、1
<br />
for i in range(3, 0, -1)<br />
print(i)<br />
步长为负数时,开始值要大于结束值,否则这段代码不会被执行。
可变嵌套循环
range()函数的参数可以是变量。
range()函数第一个参数表示开始值,第二个参数表示结束值,第三个参数表示步长。
a.开始值可以是变量
b.结束值可以是变量
正在等待第一条评论