全干货之Python3快速入门(三)——列表list、字典dict、元组tuple

列表list定义

列表是Python最基本,也是最重要的一种数据结构。
列表用 [] 定义,方括号括起的部分就是一个列表。
列表里面可以放任意基本类型,没有类型安全检查

# 列表定义
list1 = ["Java", "C#", "Python", "C/C++"]
list2 = [1, 2, 3, 4, 5, 3+4j]
list3 = ["BeiJing", "ShangHai", "NanJing", "GuangZhou"]
list4 = []

列表list操作

# 取列表,类似取字符串
# 通过索引下标访问列表中的单个元素
print("list1[2]: ", list1[2])
# 通过索引下标一次访问多个元素
print("list1[0:2]:", list1[0:2])

# 修改列表元素
list1[1] = "R" 
print(list1)

# 删除列表元素
del list1[1]
print(list1)

# 查找列表元素 存在返回True
print("Python" in list1)

#列表拼接
print("list1 + list2:",list1 + list2)

#列表乘法
print("list1*2:",list1*2)

# 向列表中添加元素
# append(object):添加新元素将新元素添加到列表末尾。
# insert(index,object):插入新元素到指定索引位置。
list1.append("HTML")
print(list1)
list1.insert(1, "JavaScript")
print(list1)

列表常用内建方法

list1 = [2012, 1949, 1897, 2050, 1945, 1949];

#求列表长度,即列表中元素的个数:len(obj)
print("The length of the list: ", len(list1))

#求列表中元素的最大值:max(list)
print("The largest element in the list: ", max(list1))

#求列表中元素的最小值:min(list)
print("The smallest element in the list: ", min(list1))

#统计某个元素在列表中出现的次数:list.count(obj)
print("The number of times 1949 appears: ", list1.count(1949))

#从列表中找出某个值第一个匹配项的索引位置:list.index(obj)
print("The index of the first location of 1949: ", list1.index(1949))

#复制一个已有的表:list.copy()
list2 = list1.copy()
print("list2:", list2)

#反转一个已有的表:list.reverse()
list1.reverse()
print("After reversing :", list1)

字典dict定义

  • 字典是系统数据结构 是键值对
  • 字典是另一种可变容器模型,且可存储任意类型对象
  • 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用(,)分割,整个字典包括在花括号 {} 中,格式如下
dict1 = {}
dict2 = {"name": "zou"}
dict3 = {"name": "zou", "age": "19"}
  • key必须是唯一的,但value则不必
  • value可以是任何数据类型,但key不可变的,如字符串、数字、元组

字典dict操作

# 访问字典中的元素
dict1 = {"name": "zou", "age": "19"}
# 直接通过key来访问
print("dict1['name']:", dict1["name"])
# 通过内建get(key)方法访问
print("dict1.get('age'):", dict1.get("age"))

# 修改字典中的元素
dict1 = {"name": "zou", "age": "19", "phone": "18211111111"}
dict1["phone"] = "1822222222"
print(dict1["phone"])

# 删除字典中的元素或字典
dict1 = {"name": "zou", "age": "19", "phone": "18211111111"}
del dict1["phone"]
print(dict1)
# 清空字典
dict1.clear()
# 删除字典
del dict1

字典dict常用内建方法

dict1 = {"Excellent": 100, "Good": 80, "Pass": 60, "Fail": 50}

# 计算字典的长度
print("The length of the dict1: ", len(dict1))

# 获取字典中所有的键
print("Get all the keys in dict1:\n", dict1.keys())

# 获取字典中所有的值
print("Get all the values in dict1:\n", dict1.values())

# 获取字典中所有的键值对
print("Get all the key-value pairs in dict1:\n", dict1.items())

元组tuple定义

  • 元组类似只读的list,元组中的元素不能改变,只能访问
  • 元组用()定义, 列表用[]方括号定义
tuple1 = ("C", "Java", "Python", "C#")
# 元组可以没有括号,元素之间用逗号分隔开
tuple2 = "C", "Java", "Python", "C#"
# 注意 如果元组只有一个元素 那么最后的 , 必不可少
tuple3 = ("C",)
tuple4 = "C",
# 空元组
tuple5 = ()

元组tuple操作

tuple1 = ("C", "Java", "Python", "C#")
# 访问元组中的元素
print("tuple1[2]:", tuple2[2])
print("tuple1[:]:", tuple2[:])

# 元组拼接
print("tuple1 + tuple2:", tuple1+tuple2)

# 元组乘法
print("tuple1 * 2:", tuple1 * 2)

# 判断元素是否存在元组中 返回True
print("Java in tuple1?", "Java" in tuple1)

元组常用内建方法

tuple1 = (3.14, 5.96, 1897, 2020, 1949) 

#求元组长度,即元组中元素的个数:len(tuple)
print("The length of the tuple: ", len(tuple1))

#求元组中元素的最大值:max(tuple)
print("The largest element in the tuple: ", max(tuple1))

#求元组中元素的最小值:min(tuple)
print("The smallest element in the tuple: ", min(tuple1))

#统计某个元素在元组中出现的次数:tuple.count(obj)
print("The number of times 1949 appears: ", tuple1.count(1949))

#从元组中找出某个值第一个匹配项的索引位置:tuple.index(obj)
print("The index of the first location of 1949: ", tuple1.index(1949))

元组和列表对比

  • 列表功能比元组强大
  • 元组是列表的一个只读版本
  • 元组是不可变的,列表是可变的
  • 元组通常由不同的数据组成()
  • 列表通常是由相同的数据组成
  • 元组性能比列表更高效

列表list和元组tuple相互转换

# 列表转化成元组
list1 = ["a","b","c"]
tuple1 = tuple(list1)

# 元组转化成列表
tuple2 = ("a","b","c")
list2 = list(tuple2)