【Python学习笔记】2. 高级变量类型

走远了吗. 提交于 2020-01-30 00:16:45

1 列表(List)

1.1 基本信息

  • 列表存储一串信息;

  • 列表用 [ ] 定义,数据之间用“,”分隔;

  • 列表的数据项不需要具有相同的类型;

  • 列表索引号从0开始。

1.2 列表操作

  • list.append(self, object) :在末尾添加新object内容;

  • list.clear(self) :清空列表

  • list.copy(self) :复制

  • list.count(self, obejct) :object在列表中出现的次数;

  • list.extend(self, iterable) :其他列表中完整的内容追加到当前列表末尾;

  • list.index(self, object, start, stop) :取索引

  • list.insert(self, index, object) :在指定索引位置插入

  • list.pop(self, index) :默认删除最后一个/删除指定索引元素

  • list.remove(self, object) :删除指定数据

  • list.reverse(self) :逆序,反转

  • list.sort(self, key, reverse) :升序排序

  • list.sort(reverse=Ture) :降序排序

1.3 del关键字

del 关键字(delete)删除列表元素

del name_list[1]

# del 本质上将一个变量从内存中删除,后续代码将不能用这个变量

# 要从列表中删除数据,建议使用列表提供的操作方法。

1.4 len (length 长度)

用于统计列表中元素的总数。

len(列表名)

count方法主要统计元素出现的次数

1.5 for循环遍历列表(迭代:iteration)

for 变量 in 集合 :
    循环内容
else :
    如果没有break,则执行else内容。

(用在字典中遍历,判断某一字典中是否存在指定值。如存在,提示并退出循环;如不存在,循环结束后希望有一个统一的提示)

见下面例子:

students = [
                    {  "name": "阿土",
                        "age": 20,
                        "gender": True,
                        "height": 1.7,
                        "weight": 75.0},
                    {  "name": "小美",
                        "age": 19,
                        "gender": False,
                        "height": 1.6,
                        "weight": 45.0},
                ]

find_name = "阿土"

for stu_dict in students:
    print(stu_dict)

    # 判断当前遍历的字典中姓名是否为find_name
    if stu_dict["name"] == find_name:
        print("找到了")
        # 如果已经找到,直接退出循环,就不需要再对后续的数据进行比较
        break
    else:
        print("没有找到")
print("循环结束")                                

2 元组(tuple)

2.1 元组介绍

  •  tuple 与列表类似,区别在于:tuple的元素不能更改;
  • tuple 用( )定义,用“,”分隔,索引从0开始;
  •  list一般存储相同类型的数据,tuple存储不同类型数据;
  •  空元组:tuple = ( )
  • 元组只包含一个元素时,需在元素后面加“,”。如:
Single_tuple = (5, )

2.2 元组操作(与list类似)

tuple,count

tuple.index

2.3 循环遍历

主要使用for循环遍历元组。

除非能确定元组的数据类型,否则很少遍历元组中的元素。

2.4 应用场景

1) 格式化字符串后的“( )”本质上是元组。如:

tuple_people = ("小明", 18, 1.85)
print(" %s 年龄是 %d, 身高是 %.2f " %(tuple_people))
print(" %s 年龄是 %d, 身高是 %.2f " %("小明", 18, 1.85))

其输出结果是一样的。

2) 元组转换为列表:list(tuple_name)

列表转换为元组:tuple(list_name)(防止更改数据,保护数据)

3 字典(dictionary)

3.1 字典介绍

  • 列表有序的对象集合,字典是无序的对象集合;

  • 字典用 { } 定义;

  • 键值对存储数据,键值对用“,”分隔。

    • 键key是索引;

    • 值value是数据;

    • 值和值之间用“:”分隔;

    • 键必须是唯一的;

  • 可以是任意数据类型,但只能使用字符串、数字或元组

3.2 字典操作

# 字典是无序的,输出的结果往往不是定义的顺序

xiaoming = {"name": "小明",
                    "age": 18,
                    "gender": True,
                    "height": 1.75
                }

1) 取值

print(xiaoming["name"])

2) 增加/修改

xiaoming["weight"] = 60 #增加
xiaoming["name"] = "小小明" #修改

3) 删除

字典名.pop(“键名”)

如:

xiaoming.pop("name")

4) 统计键值对数量

len(字典名)

5) 合并字典

字典名.update(被合并字典名)

6) 清空字典

字典名.clear( )

3.3 字典应用场景

1) 用多个键值对描述物体相关信息;

2) 多个字典放在列表中,再遍历。

# 字典遍历
card_list = [
{"name":"张三",
"qq":"123456",
"phone":"110"},
 
{"name":"李四",
"qq":"654321",
"phone":"120"}
]

for card_info in card_list:
    print(card_info)

4 字符串

4.1 概览

  • 可以用双引号 " " 或单引号 ' ' 定义;

  • 索引从0开始;

  • 用for循环遍历。

4.2 常用操作

判断类型、查找和替换、大小写转换、文本对齐、去除空白字符、拆分和连续。

  • 统计长度:len

  • 统计次数:字符串.count(“子字符串”)

  • 索引位置:字符串.index(“子字符串”)

  • ……

5 公共方法

列表、元组、字典、字符串等高级数据类型都能使用的方法称为公共方法。

5.1 内置函数

  • len():计算容器中元素的个数;

  • max():删除变量;

  • min():返回容器中元素的最大值,如果是字典,只针对key;

  • del():返回容器中元素的最小值,如果是字典,只针对key。

5.2 切片

切片方法适用于字符串、列表、元组。

字符串[开始索引:结束索引:步长]

示例:

 [0, 1, 2, 3, 4][1:3]

结果: [1, 2]

  • 切片使用索引值来限定范围,从一个大的字符串切出小的字符串

  • 列表元组都是有序的集合,都能够通过索引值获得对应的数据

  • 字典是一个无序的集合,是使用键值对保存数据

索引的顺序和倒序:在 Python 中不仅支持顺序索引,同时还支持倒序索引。所谓倒序索引就是从右向左计算索引,最右边的索引值是-1,依次递减。

num_str = "0123456789"

# 倒序切片
print(num_str[-1]) # -1 表示倒数第一个字符
 
# 截取从 2 ~ 末尾 - 1 的字符串
print(num_str[2:-1])

# 截取字符串末尾两个字符
print(num_str[-2:])

# 字符串的逆序(面试题)
print(num_str[::-1])

5.3 运算符

 

注意:

  • in在对字典操作时,判断的是字典的

  • in和 not in被称为成员运算符

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!