列表 列表变量 元祖 字典

一、列表

'''
列表:想当于一个容器,里面可以存放多个数据
    一次性可以处理多个数据
变量:只能存放一个数据,一次只能处理一个数据
列表单词:list 标志是[]
创建列表
'''
# 创建了一个名字叫做age_list的列表,里边存储了很多的数据
# age_list=[10,11,12,13,14,70,20,30,21]
# # 查看列表中有多少个数据 获取列表的长度
# print(len(age_list))
# # 获取列表中的元素(数据)
# i=0
# sum=0
# while i<=len(age_list)-1:
#     sum+=age_list[i]
#     i+=1
# print(sum)
# print(max(age_list))

'''
在列表中存值(添加数据)
'''
list2=[1,2,3]
# append()在列表的末尾一次添加一条数据,如果
# 加的是列表当做一个数据来处理
# list2.append(10)
# list2.append(20)
# list2.append([30,40,50])
# extend()在末尾一次添加多个数据,会将列表中的数据
# 拆开挨个存放到列表中
# extend()参数只能是列表
# list2.extend([30,40,50])
# list2.extend([60])
# 在指定位置插入一条数据,不会覆盖原数据,原数据一次往后推移
list2.insert(1,200)
print(list2)

# list3=[]
# sum=0
# while True:
#     age = int(input("请输入年龄"))
#     if age<0:
#         print('输入的年龄不合法,程序结束')
#         break
#     else:
#         # 存储到列表中
#         list3.append(age)
#         sum+=age
# print("最大值:",max(list3))
# print(sum)

sum=0
max=0
while True:
    age = int(input("请输入年龄"))
    if age<0:
        print('输入的年龄不合法,程序结束')
        break
    else:
        # 存储到列表中
        sum+=age
        if max<age:
            max=age
print(sum)
print(max)

二、列表操作

'''
注意:列表中可以存储不同类型的数据
列表的运算
    +:拼接
    *:重复
'''
list1=[1,2,3]
list2=[4,5,6]
list3=list1+list2
print(list1)
print(list2)
print(list3)
print(list1*3)

'''
列表的判断
in:判断某一个元素在不在列表中 在True 不在False
not in:判断元素不在列表中 在False 不在True
'''
list4=[1,2,"a","b"]
print(10 in list4)
print(10 not in list4)


'''
删除
'''
list5=[1,2,3,"a","b"]
# # 删除指定的元素
# list5.remove("a")
# # 报错  没有这个数据,无法删除
# list5.remove("10")
# 不写参数默认删除最后一个
# list5.pop()
# list5.pop()
# 根据下标删除元素
# list5.pop(1)
# 清空列表
list5.clear()
print(list5)


'''
查找
len():查长度
index():根据元素查下标,找不到就报错
count():查元素出现的个数(次数)
'''
list6=[89,100,21,0,21,10]
print(list6.index(21))
# print(list6.index("21"))
print(list6.index(21,3,5))
print(list6.count(210))

'''
截取(切片)
'''
list7=[1,2,3,4,5]
# 从0的位置截取到2,不包含最大值[1,2]
print(list7[:2])
# 从2截取到末尾[3,4,5]
print(list7[2:])
# 从2截取到4[3,4]
print(list7[2:4])
# [1,3,5]
print(list7[0::2])
print(list7[4::-1])


'''
排序
'''
list8=[20,10,9,7,30]
# 升序,从小到大
list8.sort()
print(list8)
# 倒序,要降序必须先sort
list8.reverse()
print(list8)

'''
复制
=复制的是地址值,一个改变会影响另一个(浅拷贝)
copy复制的数据,不会影响别人(深拷贝)
'''
list9=[1,2,3]
list10=list9 #[1,2,3]
list10[0]=100 #[100,2,3]
list11=list9.copy()
list11[0]=200
print(list9)
print(list10)
print(list11)


a=10
b=a
b=20
print(a)
print(b)
print(id(list9))
print(id(list10))


'''
在程序中运行内存一般分为2块内存
变量存栈、值存堆
a=10
str1="abcchgvgh"
list1=[1,2,3,4]
栈:整数、小数、布尔
堆:
'''
'''
增删改查截拼复转排
'''


list12=[1,2,3]
list12[0]=100

'''
列表的特点:
    列表单词是list标志[]
    列表是可变的
    列表中可以存储不同类型的数据
    列表是有序的
    列表有下标
'''

三、遍历列表

'''
遍历:一个一个获取
for循环的变量指的就是列表中的数据,不是下标
while循环的变量可以当做下标来处理,不是元素
'''
list1=["a","b","c","d"]
for i in list1:
    print(i)

print(i)
# i=0
# while i<len(list1):
#     print(list1[i])
#     i+=1
#
# for i in list1:
#     print(i)
#
# for i in range(30,40):
#     print(i)


# 迭代器

四、元祖

'''
1.元组的单词是tuple  标志是()
2.元组一旦创建不能更改
3.元组的操作:截取 查找(查长度、查下标、查次数)
            拼接(+) 复制(=)  转
4.因为不能更改所以比较安全
5.元组有下标
6.元组是有序的
'''
# 创建一个空元组
tuple1=()
print(type(tuple1))
# 创建一个有多个数据的元组
tuple2=(1,2,3,4)
print(tuple2)
# 创建有一个元素的元组
tuple3=(1,)
print(tuple3)

print(tuple2[1:])
tuple4=(1,2,"a","b")
print(tuple4.index(2))
print(tuple4.count("a"))

tuple5=("c","d")
tuple6=tuple4+tuple5
print(tuple6)


tuple7=tuple5
print(tuple7)

tuple8=("a","b","c")
list1=list(tuple8)
list1[0]="aa"
print(list1)
print(tuple8)
tuple9=tuple(list1)
print(tuple9)

五、字典

'''
字典:是一个键值对形式的数据结构
    字典是没有下标的
    字典是无序的
    字典的键是唯一的
    字典的单词dict  标志{}
'''
# 创建字典
dic={"张三":100,
     "刘效洋":10,
     "李四":0,
     "asd":1,
     "abc":2,
     "刘效洋1": 10}
print(dic["张三"])
print(dic["刘效洋"])
print(dic)
# 在字典中添加值
dic["王五"]=90
dic.update({"aaa":30})
# 根据键去删除
dic.pop("刘效洋1")
# 字典是无序的,到底谁是最后一个不知道,会报错
# dic.pop()
print(dic)
print("----------------")
# 报错
# print(dic["张三1"])
# None空值 不报错
print(dic.get("张三1"))


'''
遍历键
'''
for i in dic:
    print(i)
print("-----根据键得到值------")
for i in dic:
    # print(dic[i])
    print(dic.get(i))
print("------遍历值-----")
for i in dic.keys():
    print(i)
print("------遍历键和值-----")
for i,j in dic.items():
    print(i,j)

六、字典经典案例(简单登录注册页面)

dic={}
while True:
    print('请输入你要进行的操作:1登录 2注册 3退出')
    key = input()
    if key == '1':
        name = input('请输入名字:')
        ps = input('请输入密码:')
        if name in dic.keys():
            mima=dic.get(name)
            if mima==ps:
                print('登录成功')
            else:
                print('密码错误,登录失败')
        else:
            print('用户名不存在')
    elif key == '2':
        name=input('请输入名字:')
        ps=input('请输入密码:')
        if name not in dic.keys():
            dic[name] = ps
            print('注册成功')
        else:
            print('用户名已注册过')
    else:
        break

猜你喜欢

转载自blog.csdn.net/qq_42713578/article/details/81075169