python基础--列表,集合,元组,字典

目录

1,如何安装python3.6

2,列表[ ]

3,元组():

4,集合{ }:

5,字典:


1,如何安装python3.6

-解压安装包到/opt目录
-安装编译过程中需要的依赖包有:gcc,zlib,zlib-devel,openssl-devel
-进入安装包进行编译
cd /opt/Python3-*/
--prefix安装路径 --with-ssl:添加ssl加密
./configure --prefix=/usr/local/python --with-ssl
-安装:make && make install
添加python的命令到环境变量里
临时添加:
export PATH='python3命令所在的路径:$PATH'
永久添加
echo export PATH="python3命令所在的路径:PATH">>~/.bashrc
重新读取配置文件
source ~/.bashrc
-检测是否安装成功
python3

2,列表[ ]

(1)数组:存储同一种数据类型的集合scores=[12,13,14]
列表:(打了激素的数组):可以存储任意数据类型的集合
name=['tom','lily','bob','cooc']
type(name)  out-->list
(2)列表性质:
一个变量可以存储多个信息
    li=[1,1,3,True,'hello']
    print li
    print type(li)
列表里可以进行嵌套(列表也是一种数据类型)
li=[1,1,2,True,'helllo',[1,1,2,3,4,5]]
(3)应用
service=['http','ssh','ftp']
索引;切片,重复,连接,成员操作符,for循环遍历
索引:print service[0]
      print service[1]
切片:print service[::-1]列表翻转
      print service[1:]除第一个元素以外的其他元素
      print service[:-1]出最后一个元素的其他元素
重复:
    print service*3
连接:
    service1=['mysql','firewalld']
    print service+service1
成员操作符:
    print 'firewalld' in service
    print 'firewalld' not in service
for循环遍历:
    for se in service:
        print service
列表里嵌套列表
    service2=[['http',[80],['ssh',22],['ftp',21]]
索引:
    print service2[0][1]
        print service2[-1][1]
切片:
    print service2[:][1]
    print service2[:-1][0]
eg:假如有下面这样的列表
输入:name=['fentiao','fendai','fensi','apple']
输出:‘I have fentiao,fendai,fensi and apple’
列表的增加:
    service=['http','ssh','ftp']
    print service+['firewalld']
    追加一个元素到表中
    service.append('firewalld')
    print service
    拉伸追加多个元素到表中
    service.extend(['mysql,'firewalld'])
    print service
    在指定索引的位置插入元素
    service.insert(1,'samba')
    print service
列表的删除:
    service=['http','ssh','ftp']    
    如果pop()不传递值的话,默认弹出最后一个元素
        print service.pop()
    pop也可以传递索引值
        print service.pop(0)
    remove可以删除指定元素
        service.remove('ssh')
        print service
    del关键字从内存中删除列表
    print service
    del dervice
    print service
    通过索引,重新赋值
    service[0]='mysql'
    print service
    通过切片,重新赋值
    print service[:2]
    service[:2]=['samba','ladp']
    print service
列表的查看:
    service=['http','ssh','ftp','ftp']
    查看元素出现的次数
    print service.count('ssh')
    查看指定元素的索引值
    print service.index('ssh')
    按照Ascii码进行排序
    service.sort()
    print service
    按Ascii码的大到小进行排序
    service.sort(reverse=True)
    print service
    对字符串排序不区分大小写
    service.sort(key=str.lower)
    service.sort(key=str.upper)
    print service
    将原有的列表顺序打乱
    import random
    li=list(range(10))
    random.shuffle(li)
    print li
eg:做一个用户管理系统
    1)判断用户是否存在
        2)如果存在
            密码对吗,先找出用户对应的索引
            根据passwd[索引值]
            如果正确,登陆出成功退出循环
            如果密码不正确,重新登陆(机会只有三次)
    2)不存在
    重新登陆(机会只有三次)
eg:
后台管理人员只有一个用户:admin密码:admin
当管理员登陆成功以后,才可以管理用户信息
管理的用户信息包含
    添加用户
    删除用户
    查看用户
    退出

3,元组():


(1)(带了紧箍咒的列表)元组本身不可改变数类型,没有增删改差
元组内可以存储任意数据类型
t=(1,2,3,4,5,'start')
print type(t)
out--><type'tuple'>
元组里面包含可变数据类型可以间接修改元组的内容
t1=([1,2,3],4)
t1[0].append(4)
print t1
元组如果只有一个元素时,后面一定要加逗号,否则数据类型不确定
t2=('hello',)
t3=(1,)
print type(t2),type(t3)
(2)元组特性
索引;切片;重复;
westos=('hello','hi',[1,2,3,4])
切片:  print westos[1]
    print westos[-1]
    print westos[1:]
    print westos[2:]
    print westos[:-1]
    print westos[::-1]
重复:
print westos*3
连接:
print westos+('fentiao','fendai')
成语操作符:
print 'hello' in westos
print 'hello' not in westos
(3)变量交换数值
    先把(a,b)封装成一个元组(1,2)
        b,a=a,b
    或者b=(1,2)[0] a=(1,2)[1]
    print a,b
(4)打印变量值
    name='westos'
    age=10
    t=(name,age)
    print 'name:%s,age:%d'%(name,age)
    print 'name:%s,age:%d'%t
(5)元组的赋值
    t=('westos',10,100)
    name,age,score=t
    print name.age,score
(6)数据的排序
    scorce=(100,89,45,89)
    scorce=sorted(scores)
    print scores
 

4,集合{ }:


类型set且集合里面的元素不可重复
如何定义空集合s=([])若直接定义为{},显示类型为字典
s={1,2,3,4,5}
print s,type(s)
集合多增加一个元素
    s={6,7,8,9,1,2,3}
    增加一个:s.add(10)
    增加多个:s.update({4,5})
删除集合中的元素:
    s.pop()
删除指定的元素:
    s.remove(2)
集合只支持成员操作符,for循环
    s={1,2,3}
    print s[1]
    print s+{4,5,6}
    print s*3
    print 1 in s
    for i in s:
        print i,
    for i,v in enumerate(s):
        print 'index: %s,value:%s' %(i,v)
集合的应用:
    (1)li=[1,2,3,4,5]
       print list(set(li))
        (2)一些简单的取值可以借助基本指令来实现
       min(2,4)
       max(2,4)
       sum(range(1,101))
       sum(range(2,101,2))2到100偶数之和啦
       sum(range(1,101,2))
枚举:返回索引值和对应的value的值
    (1)for i,v in enumerate('hello'):
        print i
        print type(i)
        print v
        print type(v)
        print str(i)+'---->'+v
        print 'index:%s,value:%s'%(i,v)
    
    (2)实现一一对应两字符串的内容,大有用途啊,比如
         实现用户和密码的一一对应呢
       s1='abc'
       s2='123'
       for i in zip(s1,s2):
        print '--'.join(i)
       out-->a--1
         b--2
         c--3
集合之间的关系:
s1={1,2,3}
s2={1,2,4}
并集:print '并集:',s1.union(s2)
      print '并集:',s2&s2
差集:s1中s2没有的元素
      print '差集:',s1.difference(s2)
      print '差集:',s2-s1
对等差分:并集-交集
      print '对等差分:',s1,symmetric_difference((s2))
      print '对等差分:',s2^s2
s3={1,2}
s4={1,2,3}
s3是否为s4的子集
    print s3.issubset(s4)
超集:s3中的每一个元素都在s4中,且s4中可能包含s3中没有的元素则s4是s3的超集
      超集与真子集对应
两个集合是不是不相交:
    print s3.iddisjoint(s4)
eg:明明要用计算机生成n个1~1000之间的随机整数(N<=1000),N是用户输入的
对于其中的重复数字,只保留一个,把其余相同的数字去掉
不同的数字对应着不同的学生的学号,把数字从小到大排序,按照排好的顺序去找同学作调查,请协助明明去重

5,字典:

字典是一个无序的数据集合,使用print输出字典的时候通常输出的顺序和定义的顺序是不一致的
     message = {
         'name':'tom',
         'age':18,
         'height':1.80,
         'weight':75.5
     }
          print message
           s = {  }
           print type(s)
定义空字典
          d=dict()
          print d,type(d)
字典的特性:
    (1)d=dict(a=1,b=2)
       print d
    (2)成员操作符(默认判断key是否存在)
       print 'a' in d
    (3)setdefault即如果已经存在,那幺不做修改,
       如果key值不存在添加key-value值
       d.setdefault('a,10')
       print d
       d['g']=10
       print d
       d['a']=10
       print d
      get方法获取指定key对应的value值
      如果key值存在,返回对应的value值
      如果key值不存在,默认返回none,如果需要指定返回值,传值即可
      print service.get('http','key not exist')
    (4) 弹出指定的key-value值
       d=dict(a=1,b=2,c=3)
       d=pop('a')
       print d
       d.popitem()
       print d
       del d['a']
       print d
     (5)查看字典里所有的key值
       service={
        'http':80,
        'mysql':3306}
      print service.keys()
       查看字典里所有的value值
      print service.values()
      查看字典里所有的key-value值
      print service.items()
      遍历
      for k,v in service.item():
        print k,'-->',v
eg:随机生成1000个整数,数字范围是[20,1000],升序输出所有不同的
数字及每个数字重复的次数
输入一个英文句子,打印出每个单词及其重复的次数

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本火锅店点餐系统采用Java语言和Vue技术,框架采用SSM,搭配Mysql数据库,运行在Idea里,采用小程序模式。本火锅店点餐系统提供管理员、用户两种角色的服务。总的功能包括菜品的查询、菜品的购买、餐桌预定和订单管理。本系统可以帮助管理员更新菜品信息和管理订单信息,帮助用户实现在线的点餐方式,并可以实现餐桌预定。本系统采用成熟技术开发可以完成点餐管理的相关工作。 本系统的功能围绕用户、管理员两种权限设计。根据不同权限的不同需求设计出更符合用户要求的功能。本系统中管理员主要负责审核管理用户,发布分享新的菜品,审核用户的订餐信息和餐桌预定信息等,用户可以对需要的菜品进行购买、预定餐桌等。用户可以管理个人资料、查询菜品、在线点餐和预定餐桌、管理订单等,用户的个人资料是由管理员添加用户资料时产生,用户的订单内容由用户在购买菜品时产生,用户预定信息由用户在预定餐桌操作时产生。 本系统的功能设计为管理员、用户两部分。管理员为菜品管理、菜品分类管理、用户管理、订单管理等,用户的功能为查询菜品,在线点餐、预定餐桌、管理个人信息等。 管理员负责用户信息的删除和管理,用户的姓名和手机号都可以由管理员在此功能里看到。管理员可以对菜品的信息进行管理、审核。本功能可以实现菜品的定时更新和审核管理。本功能包括查询餐桌,也可以发布新的餐桌信息。管理员可以查询已预定的餐桌,并进行审核。管理员可以管理公告和系统的轮播图,可以安排活动。管理员可以对个人的资料进行修改和管理,管理员还可以在本功能里修改密码。管理员可以查询用户的订单,并完成菜品的安排。 当用户登录进系统后可以修改自己的资料,可以使自己信息的保持正确性。还可以修改密码。用户可以浏览所有的菜品,可以查看详细的菜品内容,也可以进行菜品的点餐。在本功能里用户可以进行点餐。用户可以浏览没有预定出去的餐桌,选择合适的餐桌可以进行预定。用户可以管理购物车里的菜品。用户可以管理自己的订单,在订单管理界面里也可以进行查询操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值