python的高级变量类型

1、

Python 中数据类型可以分为 **数字型** 和 **非数字型**
* 数字型
    * 整型 (`int`)
    * 浮点型(`float`)
    * 布尔型(`bool`) 
        * 真 `True` `非 0 数` —— **非零即真**
        * 假 `False` `0`
    * 复数型 (`complex`)
        * 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题
* 非数字型
    * 字符串
    * 列表
    * 元组
    * 字典

* 在 `Python` 中,所有 **非数字型变量** 都支持以下特点:
    1. 都是一个 **序列** `sequence`,也可以理解为 **容器**
    2. **取值** `[]`
    3. **遍历** `for in`
    4. **计算长度**、**最大/最小值**、**比较**、**删除**
    5. **链接** `+` 和 **重复** `*`
    6. **切片**

列表的定义

* `List`(列表) 是 `Python` 中使用 **最频繁** 的数据类型,在其他语言中通常叫做 **数组**
* 专门用于存储 **一串 信息**
* 列表用 `[]` 定义,**数据** 之间使用 `,` 分隔
* 列表的 **索引** 从 `0` 开始
    * **索引** 就是数据在 **列表** 中的位置编号,**索引** 又可以被称为 **下标**
    
> 注意:从列表中取值时,如果 **超出索引范围**,程序会报错
    
```python
name_list = ["zhangsan", "lisi", "wangwu"]

 

 

列表常用操作

* 在 `ipython3` 中定义一个 **列表**,例如:`name_list = []`
* 输入 `name_list.` 按下 `TAB` 键,`ipython` 会提示 **列表** 能够使用的 **方法** 如下:

```
In [1]: name_list.
name_list.append   name_list.count    name_list.insert   name_list.reverse
name_list.clear    name_list.extend   name_list.pop      name_list.sort
name_list.copy     name_list.index    name_list.remove 
```

| 序号 | 分类 | 关键字 / 函数 / 方法 | 说明 |
| --- | --- | --- | --- |
| 1 | 增加 | 列表.insert(索引, 数据) | 在指定位置插入数据 |
|  |  | 列表.append(数据) | 在末尾追加数据
|  |  | 列表.extend(列表2) | 将列表2 的数据追加到列表 | 
| 2 | 修改 | 列表[索引] = 数据 | 修改指定索引的数据 |
| 3 | 删除 | del 列表[索引] | 删除指定索引的数据 |
|  |  | 列表.remove[数据] | 删除第一个出现的指定数据 |
|  |  | 列表.pop | 删除末尾数据 |
|  |  | 列表.pop(索引) | 删除指定索引数据 |
|  |  | 列表.clear | 清空列表 |
| 4 | 统计 | len(列表) | 列表长度 |
|  |  | 列表.count(数据) | 数据在列表中出现的次数 |
| 5 | 排序 | 列表.sort() | 升序排序 |
|  |  | 列表.sort(reverse=True) | 降序排序 |
|  |  | 列表.reverse() | 逆序、反转 |

#### del 关键字(科普)

* 使用 `del` 关键字(`delete`) 同样可以删除列表中元素
* `del` 关键字本质上是用来 **将一个变量从内存中删除的**
* 如果使用 `del` 关键字将变量从内存中删除,后续的代码就不能再使用这个变量了

```python
del name_list[1]
```

 

name_list = ["张三", "李四", "王五", "王小二", "张三"]

# len(length 长度) 函数可以统计列表中元素的总数
list_len = len(name_list)
print("列表中包含 %d 个元素" % list_len)

# count 方法可以统计列表中某一个数据出现的次数
count = name_list.count("张三")
print("张三出现了 %d 次" % count)

# 从列表中删除第一次出现的数据,如果数据不存在,程序会报错
name_list.remove("张三")

print(name_list)

函数需要死记硬背

* **方法** 和函数类似,同样是封装了独立的功能
* **方法** 需要通过 **对象** 来调用,表示针对这个 **对象** 要做的操作

name_list = ["张三", "李四", "王五"]

# (知道)使用 del 关键字(delete)删除列表元素
# 提示:在日常开发中,要从列表删除数据,建议使用列表提供的方法
del name_list[1]

# del 关键字本质上是用来将一个变量从内存中删除的
name = "小明"

del name

# 注意:如果使用 del 关键字将变量从内存中删除
# 后续的代码就不能再使用这个变量了
print(name)

print(name_list)

循环遍历

* **遍历** 就是 **从头到尾** **依次** 从 **列表** 中获取数据
    * 在 **循环体内部** 针对 **每一个元素**,执行相同的操作
    
* 在 `Python` 中为了提高列表的遍历效率,专门提供的 **迭代 iteration 遍历**
* 使用 `for` 就能够实现迭代遍历

name_list = ["zhangsan", "lisi", "wangwu"]

# 1. 取值和取索引
# list index out of range - 列表索引超出范围
print(name_list[2])

# 知道数据的内容,想确定数据在列表中的位置
# 使用index方法需要注意,如果传递的数据不在列表中,程序会报错!
print(name_list.index("wangwu"))

# 2. 修改
name_list[1] = "李四"
# list assignment index out of range
# 列表指定的索引超出范围,程序会报错!
# name_list[3] = "王小二"

# 3. 增加
# append 方法可以向列表的末尾追加数据
name_list.append("王小二")
# insert 方法可以在列表的指定索引位置插入数据
name_list.insert(1, "小美眉")

# extend 方法可以把其他列表中的完整内容,追加到当前列表的末尾
temp_list = ["孙悟空", "猪二哥", "沙师弟"]
name_list.extend(temp_list)

# 4. 删除
# remove 方法可以从列表中删除指定的数据
name_list.remove("wangwu")
# pop 方法默认可以把列表中最后一个元素删除
name_list.pop()
# pop 方法可以指定要删除元素的索引
name_list.pop(3)
# clear 方法可以清空列表
name_list.clear()

print(name_list)

1、

接下来的一个程序代码,数据列表的统计

name_list = ["张三", "李四", "王五", "王小二", "张三"]

# len(length 长度) 函数可以统计列表中元素的总数
list_len = len(name_list)
print("列表中包含 %d 个元素" % list_len)

# count 方法可以统计列表中某一个数据出现的次数
count = name_list.count("张三")
print("张三出现了 %d 次" % count)

# 从列表中删除第一次出现的数据,如果数据不存在,程序会报错
name_list.remove("张三")

print(name_list)

列表的排序

name_list = ["zhangsan", "lisi", "wangwu", "wangxiaoer"]
num_list = [6, 8, 4, 1, 10]

# 升序
# name_list.sort()
# num_list.sort()

# 降序
# name_list.sort(reverse=True)
# num_list.sort(reverse=True)

# 逆序(反转)
name_list.reverse()
num_list.reverse()

print(name_list)
print(num_list)

列表的遍历

name_list = ["张三", "李四", "王五", "王小二"]

# 使用迭代遍历列表
"""
顺序的从列表中依次获取数据,每一次循环过程中,数据都会保存在 
my_name 这个变量中,在循环体内部可以访问到当前这一次获取到的数据

for my_name in 列表变量:

    print("我的名字叫 %s" % my_name)

"""
for my_name in name_list:

    print("我的名字叫 %s" % my_name)

接下来开始学习

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值