Python学习笔记(6)字典、元组、列表

1.字典

    Python内置了字典的支持,也就是java中的map。使用键-值对(Key,Value)的形式存储数据,其中Key必须是唯一的,而value值可以重复出现,Key的类型必须是不可变的,如数字、字符串。元组,而Value可以是任何类型,如列表,字典,字符串等。

    和list对比优点是能够极快的查询到value,而缺点是暂用较多的内存

    举个栗子:

使用字典,获取人的年龄,只需要让姓名和年龄对应上就可以直接获取。如果用list实现,获取到某一个人的年龄,需要循环列表。

    其中Python的字典和java中map不同的是,python是动态类型语言,所以Python的字典(Key-Value)类型都是可变的。

    语法格式:

d = {key1 : value1, key2 : value2 }

map = {'小明': 23, '小李': 20, '小丽': 22}

map2 = {'小明': '男', '小李': 20, 23: '小明'}

  字典的取值方法:

只需要通过key就可以取到值,需要注意的是,当key不存在时,会报异常

map['小明']

想要避免Key不存在的异常,有两种方式,一种是使用'in'判断Key是否存在

if '小明' in map.keys():
    print(map['小明'])
else:
    print("Key不存在")

另外一种方式是通过字典提供的get()方法,如果Key不存在,则返回None或者自己指定的值


字典的操作


2.set

set和字典类似,但是set不储存Value,set可以理解成数学上的无序不重复数列。


set的定义需要提供一组数列



3.元组、列表

    元组和列表相似,不同之处在于元组是不可变的,而列表是可变的。

1)列表

    列表的定义:列表使用中括号定义

# 列表
list1 = [1, 3, 5, 7, 10]

list2 = ['赤', '橙', '红', '黄', '绿', '青', '蓝', '紫']

列表的操作

list1 = [1, 3, 5, 7, 10]
print(list1[0])  # 读第一个数 >>>1

print(list1)  # >>>[1, 3, 5, 7, 10]

list1[0] = 2  # 给第一个数重新赋值
print(list1)  # >>>[2, 3, 5, 7, 10]

list1.remove(2)  # 删除第一个2这个元素
print(list1)  # >>>[3, 5, 7, 10]

list1.append(10)  # 添加一个元素在最后
print(list1)  # >>>[3, 5, 7, 10, 10]

list1.insert(1, 4)  # 插入一个元素
print(list1)  # >>>[3, 4, 5, 7, 10, 10]

2)元组

    元组的定义:元组使用小括号定义

# 元组
tup1 = (1, 3, 5, 7, 10)

tup2 = ('赤', '橙', '红', '黄', '绿', '青', '蓝', '紫')
# 也可以不要小括号
tup3 = '个', '十', '百', '千'

# 当元组只有一个元素时,需要加上一个逗号,否则会被认为是一个运算符
# 如下所示 tupOne1 = (3)会被认为是整数3
tupOne1 = (3)
tupOne2 = (3,)

 元组的操作

由于元组是不可变的,所以当修改元组值时会报异常,因此元组可以认为是一个只读数列


元组运算符(参考 菜鸟教程)

Python表达式 结果 描述
len((1,2,3)) 3 计算元组长度
(1,2,3)+(4,5,6) (1,2,3,4,5,6) 连接
('HI!'*4) ('HI!','HI!','HI!','HI!') 复制
3 in (1,2,3) True 是否包含
for i in (1,2,3) :print(i, end=" ") 1 2 3 迭代

猜你喜欢

转载自blog.csdn.net/z89135898/article/details/80050387
今日推荐