热门搜索 :
考研考公
您的当前位置:首页正文

python语法(四)

来源:东饰资讯网

列表

names = ["zhangsan","Lisi","Wangwu"]
和C语言的数组不同,数组必须定义数据类型,并且只能存放定义的数据类型,但列表可同时存储多种类型的数据类型
int nums[] = [11,22,33,44];

列表的增删改查:

append() 插入最后
insert(位置,插入元素)

names = ["zhangsan","lisi","wangwu"]
>>> names
['zhangsan', 'lisi', 'wangwu']
>>> names.append("zhaoliu")
>>> names
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
>>> names.insert(0,"jalynn")
>>> names
['jalynn', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu']
>>> 

合并两个列表

>>> names1  = ["janny","Daynn","Liming"]
>>> allname = names + names1
>>> allname
['jalynn', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'janny', 'Daynn', 'Liming']

pop() 从最后一个开始删除
remove(要删除的元素),从左边开始找第一个删除
del names[i]根据下标删除

>>> allname
['jalynn', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'janny', 'Daynn', 'Liming']
>>> allname.pop()
'Liming'
>>> allname
['jalynn', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'janny', 'Daynn']
>>> allname.remove("lisi")
>>> allname
['jalynn', 'zhangsan', 'wangwu', 'zhaoliu', 'janny', 'Daynn']
>>> del allname[1]
>>> allname
['jalynn', 'wangwu', 'zhaoliu', 'janny', 'Daynn']

列表也可以切片

allname[2:5]
['wangwu', 'zhaoliu', 'janny']
>>> allname[0]
'jalynn'
>>> allname[0] = "juanxia"
>>> allname
['juanxia', 'wangwu', 'zhaoliu', 'janny', 'Daynn']

字典

用键值对存储数据

info = {"name":"xjx","address":"shenzhen","age":18}
>>> info["age"]
18

名字管理系统

#encoding:utf-8
card_infors =[]
while True:
        num = int(input("请输入操作序号:"))
        if num == 1:
                newname = raw_input("请输入新的名字:")
                newqq = raw_input("请输入新的qq:")
                newage = raw_input("输入新的年龄:")
                newwechat = raw_input("输入新的微信:")
                new_info = {}
                new_info['name'] = newname
                new_info['qq'] = newqq
                new_info['wechat'] = newwechat
                new_info['age'] = newage
                card_infors.append(new_info)
        elif num ==2:
                findname = raw_input("输入你要查询的人:")
                for temp in card_infors:
                        if findname == temp['name']:
                                print("找到了你要查找的人")
                        else:
                                print("查无此人")
        elif num ==3:
                pass
        elif num ==4:
                print("姓名\tQQ\t年龄\t微信\t")
                for temp in card_infors:
                        print("%s\t%s\t%s\t%s\t"%(temp['name'],temp['qq'],temp['age'],temp['wechat']))
        elif num ==5:
                break
        else:
                print("输入有误,重新输入")

字典的增删改查
增:
infor = {"name":"jalynn"}
>>> infor["age"] = 18
>>> infor
{'age': 18, 'name': 'jalynn'}
删:
>>> infor
{'qq': 1728, 'age': 18, 'name': 'jalynn'}
>>> del infor["age"]
>>> infor
{'qq': 1728, 'name': 'jalynn'}
查:
>>> infor
{'qq': 1728, 'name': 'jalynn'}
>>> infor["qq"] #如果没有的话,程序会奔溃
1728
>>> infor.get("name") #用get如果没有程序也不会奔溃
'jalynn'
改:
>>> infor.get("age")
>>> infor["qq"] = "12345678"
>>> infor
{'qq': '12345678', 'name': 'jalynn'}
extend()和append()的区别
>>> a = [11,22,33,44]
>>> b = [55,66]
>>> a.extend(b)
>>> a
[11, 22, 33, 44, 55, 66]
>>> a.append(b)
>>> a
[11, 22, 33, 44, 55, 66, [55, 66]]
>>> a = a.append(b)
>>> print(a)
None  #注意不能用这个方法,否则为空
字典的操作
info = {"name":"xjx","age":"18"}
>>> len(info)  #键值对的个数
2
>>> info.keys()  #字典中华所有的键
['age', 'name']
>>> info.values() #拿到字典中所有的值
['18', 'xjx']
>>> info.items()
[('age', '18'), ('name', 'xjx')]  #拿到字典中所有的键值对

取元组中的值


image.png
注意:

python里存在:for...else
如果加了break,则else一定不执行,否则else一定执行


image.png

多行缩进 :2,23>
显示行数::set nu

Top