python列表的内置方法

列表基本方法

# 列表内一般会存储相同数据类型的数据
# 类型转换  数据类型关键字(需要转换的数据)
# print(list(123))  # 报错
# print(list(123.33))  # 报错
print(list('hello world'))  # ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
print(list({'name': 'elijah', 'pwd': 123}))  # ['name', 'pwd']
print(list((11, 22, 33)))  # [11, 22, 33]
print(list({11, 22, 33}))  # [33, 11, 22]

list关键字可以将支持for循环的数据类型转换成列表

列表修改、添加数据

# 1.修改值
name_list = ['elijah', 'jason', 'kevin', 'egon']
name_list[0] = 777  # [777, 'jason', 'kevin', 'egon', 666]

# 2.添加值
# 尾部添加
name_list.append(666)
print(name_list) # [777, 'jason', 'kevin', 'egon', 666]
name_list.append([11, 22, 33, 44])
print(name_list)  # [777, 'jason', 'kevin', 'egon', 666, [11, 22, 33, 44]]

# 插入元素,指定索引位置插入
name_list.insert(1, '嘿嘿')
print(name_list)  # [777, '嘿嘿', 'jason', 'kevin', 'egon', 666, [11, 22, 33, 44]]

# 扩展元素(相当于for循环 + append操作)
name_list.extend([11, 22, 33, 44, 55])
print(name_list)  # [777, '嘿嘿', 'jason', 'kevin', 'egon', 666, 11, 22, 33, 44, 55]

列表删除数据

# 方式1  通用删除方法
name_list = ['elijah', 'jason', 'kevin', 'egon', 'tony', 'amy']
del name_list[1]  # 根据索引删除 del 是关键词delete缩写
print(name_list)

# 方式2 remove() 括号内指定需要移除的元素值
name_list.remove('elijah')
print(name_list)

# 方式3 pop() 括号内指定需要弹出的元素索引值  括号内不写参数则默认弹出列表尾部元素
name_list.pop(1)
print(name_list)

name_list.pop()
print(name_list)

image

可变类型&不可变类型

# 字符串使用内置方法过后,id地址改变
s1 = 'my name is elijah'
print(id(s1))
s2 = s1.upper()
print(id(s2))

image

# 列表经过修改后,内存地址id依旧是一致的
name_list = ['elijah', 'jason', 'egon', 'kevin']
print(id(name_list))
name_list.remove('elijah')
print(name_list.remove('jason'))  # 打印出来的是None
print(id(name_list))

image

可变类型:>> 列表,字典

值改变,内存地址不变, 修改的是原值

不可变类型:>> 整型,浮点型,字符串

值改变,内存地址肯定变,其实是产生了新值

堆栈与队列

# 堆栈:FILO  先进后出
while True:
    res = input('输入姓名(q退出)')
    if res == 'q':
        break
    list1.append(res)
print(list1)
while list1:
    res1 = list1.pop()
    print(res1)

image

# 队列:FIFO  先进先出
while True:
    res = input('输入姓名(q退出)')
    if res == 'q':
        break
    list1.append(res)
print(list1)
while list1:
    res1 = list1.pop(0)
    print(res1)

image

posted @ 2021-11-08 16:25  elijah_li  阅读(97)  评论(0编辑  收藏  举报
//一下两个链接最好自己保存下来,再上传到自己的博客园的“文件”选项中