python学习笔记2

列表:英文为list

列表可储存不同类型的数据。并根据索引来查找。

classes = ['MetalMax',1991,5.24]

关于列表的操作:

添加:

classes.append('拉多')
classes.append('波布')

插入:

classes.insert(1,'麦基',)#插入在索引号前.从0开始
classes_1 = ['奥多','罗克']
classes.extend(classes_1)#会拆开里边的元素,依次添加到列表末尾

查找:

city = classes[2]

修改:

classes[0] = '里奥拉多'

删除:

classes.remove('罗克')
classes.pop()#默认从末尾删除,但可根据索引去删,如pop(0)
del classes[0]#默认从开头删除

列表常用方法:

打印列表的长度:

print(len(classes))

括号中元素在列表中出现的次数:

list.count()

成员运算符:in 和not in

print('罗克' in classes)#可根据打印结果判断元素在不在列表中

排序:

list = [2,42,6,432,76,736,9,0]
list.sort()#升序排序
list.sort(reverse = True)#降序排序
list.reverse()#反转列表
l1 =list[0:4:2]#list[起始值:终止值:步长]切片,不包含终止值。如不写终止值,则切到最后
l1 = list[::-1]#也可实现列表反转
l1 = list[-1]#可以倒着数
l1 = sorted(list,reverse = True)#会保留原列表list,得到一个新的列表

把2-100之间的所有质数放到列表:(除1以外,只可被1和自身整除的数为质数)

list = []
for i in range(2,101):
    list.append(i)
    for j in range(2,i) :
        if i % j == 0:
            list.remove(i)
            break
print(list)

将列表中重复的数去掉:

l =[1,2,2,3,4,5,1]
for i in l:
    if l.count(i) !=1:
        l.remove(i)

方法2:

l =[1,2,2,3,4,5,1]
l1 = []
for i in l:
    if i not in l1:
        l1.append(i)
字典:英文为dict,由键值对组成。dict = {key1:value1,key2:value2}
dict1 = {1:WEN,2:HOR,3:CAR,4:TAN}
dict2 =  {5:BAO,6:HU,7:RLA}

合并两个字典:

dict1.update(dict2)

添加:

dict1['8'] = 'KHU'
dict1.setdefault('9','Ghost')#如字典里有相同的键,不做处理,无则增加。

删除:

dict1.pop('name')#根据键来删
dict1.popitem()#随机删除一个
dict1.clear()#全部删除
del dict1['9']#删除

查找:

#根据键来查
infos = {}
name = infos['name'] #查找不到键会报错
infos.get('age')#根据键查找,查找不到键会返回none。所以尽量用这个

获取键:

for i in infos:
    print(i)

获取值:

for i in infos:
    print(infos[i])

获取键值对:

for k,v in infos.items():
    print(k,v)

获取:

infos.keys()#获取所有的键
infos.values()#获取所有的值
infos.items()#获取所有的键值对

判断键在不在:

print('name' in infos)

修改:

infos['name'] = '雷班纳'#把新的值赋值给键
练习:
以输入的方式在字典加入三对数据:
d = {}
for i in range(3):
    key = input('请输入键:')
    value = input('请输入值:')
    d[key] = value
print(d)
搞一套简单的信息管理系统:
list = []#装所有人的信息
print('赏金猎人信息系统')

while True:#死循环,不让它终止
    print('功能:1、添加 2、查找 3、修改 4、删除 5、信息显示 6、退出')
    num = int(input('请选择功能:'))
    if num == 1:
        print('添加')
        dict = {}
        uid = input('请输入您的编号:')
        name = input('请输入您的名字:')
        age = input('请输入您的年龄:')
        dict['name'] = name
        dict['age'] = age
        dict['uid'] = uid
        list.append(dict)
        print('添加成功')
        print(list)
    elif num == 2:
        print('查找')
        uid = input('请输入您的编号:')
        flag = False#打个标记,假装结果为查不到
        for i in list:
            if i.get('uid') == uid:
                print('编号:{}\n姓名:{}\n年龄:{}\n'.format(uid,i.get('name'),i.get('age')))
                flag = True
                break
        if not flag:#确实没查到,flag为0,not0则为1,运行
                print('对不起,无此编号')
    elif num == 3:
        print('修改')
        uid = input('请输入您的编号:')
        flag = False#打个标记,认定结果为查不到
        for i in list:
            if i.get('uid') == uid:
                while True:
                    num = int(input('请问要修改什么?1、编号 2、姓名 3、年龄 4、退出'))
                    if num == 1:
                        uid = input('请输入新的编号')
                        i['uid'] = uid
                        print('修改成功!')
                    elif num == 2:
                        name = input('请输入新的姓名')
                        i['name'] = name
                        print('修改成功!')
                    elif num == 3:
                        age = input('请输入新的年龄')
                        i['age'] = age
                        print('修改成功!')
                    elif num == 4:
                        break
                    else:
                        print('序号错误')
                flag = True
                break
        if not flag:#确实没查到,flag为0,not0则为1,运行
           print('对不起,无此编号')
    elif num == 4:
        print('删除')
        uid = input('请输入要删除的编号:')
        flag = False#打个标记,认定结果为查不到
        for i in list:
            if i.get('uid') == uid:
                print('已删除{}'.format(i.get('name')))
                list.remove(i)
                flag = True
                break
        if not flag:#确实没查到,flag为0,not0则为1,运行
            print('对不起,无此编号')
    elif num == 5:
        for i in list:
            print('编号:{}\n姓名:{}\n年龄:{}\n'.format(i.get('uid'),i.get('name'),i.get('age')))
    elif num == 6:
        print('再见,勇士')
        break
    else:
        print('输入有误')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值