python 基础知识 列表的 增删改查 以及迭代取值



"""
python 列表 通用方法
元组、数组、字典 取值方法 []

列表中可以存储不同类型的数据

函数 封装了独立的功能可以直接调用
函数名(参数)

方法 和函数类似,同样是封装了独立的功能,方法需要通过对象来调用,标识针对这个对象要做的操作
对象.方法名(参数)

关键字 后面不需要使用括号
import keyword
print(keyword.kwlist) 可以输出python中列出所用的关键字
len(keyword.kwlist) 可以输出关键字的总数

"""

name_list = ['zhang san', 'li shi', 'wang wu']

# 取值
print(name_list[0])

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

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

# 增加 
# append() 追加数据,方法可以向列表的末尾追加数据
# insert()插入数据,# self, index, object 指定插入的位置与数据
# extend()追加数据,另外一个列表中的完整内容追加到当前的列表的末尾
name_list.append('小白')
name_list.insert(1, '小美眉')

# 临时变量列表
temp_list = ['孙悟空', '猪八戒', '沙师弟']
name_list.extend(temp_list)

# 删除数据
# pop clear remove del

# del 本质上是把一个变量从内存中删除的。
del name_list[2]

# del 演示,相当于释放内存空间,彻底删除name变量
# 彻底删除后,就不能再使用name变量了
# 在列表使用中,建议使用列表提供的方法操作
name = '小明'
del name

# remove self, boject(对象)
name_list.remove('wang wu')

# pop 可以带参数,也可以不带参数,默认删除最后一个数据
name_list.pop()

# pop 指定要删除的索引
name_list.pop(0)

# 清空列表所有数据
name_list.clear()

print(name_list)


demo_list = ['孙悟空', '猪八戒', '沙师弟', '沙师弟']

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

# count 方法可以统计列表中的某一个参数 出现的次数
count = demo_list.count('沙师弟')
print(count)

# 从列表中删除第一次出现的数据,如果数据不存在,程序会报错
demo_list.remove('沙师弟')
print(demo_list)


# 列表排序
# sort() 升序排序 从小到大
# sort(reverse=True) 降序排序 从大到小
# reverse 逆序、反转

demo_name = ['zhang san', 'li shi', 'wang wu']
num_list = [2, 4, 6, 1, 8, 0, 19, 20, 45]

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

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

# 逆序、反转
demo_name.reverse()
num_list.reverse()

print(demo_name)
print(num_list)

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

# for循环内部使用的变量in列表
# for name in nane_list:
#       循环内部针对列表元素进行操作
#       print(name)

demos_list = ['张三', '李四', '王五', '赵明']

# 使用迭代遍历列表
for i in demos_list:
    print('我的名字叫 %s' % i)

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

for i in demos_list:
    print('我的名字叫 %s' % i)

"""