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
    评论
### 回答1: 列表Python中最常用的数据类型之一,它可以存储多个元素,这些元素可以是不同的数据类型,如整数、浮点数、字符串等。列表使用方括号 [] 来表示,元素之间用逗号隔开。 例如,下面是一个包含整数、浮点数和字符串的列表: ``` my_list = [1, 2.5, "hello"] ``` 列表中的元素可以通过索引访问,索引从开始,例如: ``` print(my_list[]) # 输出 1 print(my_list[2]) # 输出 "hello" ``` 列表还支持切片操作,可以通过切片获取列表的子集,例如: ``` print(my_list[1:]) # 输出 [2.5, "hello"] ``` 列表是可变的,可以通过索引或切片修改列表中的元素,也可以使用 append() 方法向列表末尾添加新元素,例如: ``` my_list[] = 3 my_list.append("world") print(my_list) # 输出 [3, 2.5, "hello", "world"] ``` 除了 append() 方法,列表还支持 insert()、remove()、pop() 等方法,可以对列表进行增删改查操作。 ### 回答2: Python中的列表是一种非常常用的数据结构,是一组有序的元素集合,可以通过索引来访问其中的元素。列表可以包含多种类型的数据,包括数字、字符串、列表等等,且可以根据需要动态地添加、删除、修改其中的元素。在Python中,列表的创建方式非常简单,只需要用一组方括号将其中的元素括起来即可。 可以使用列表的索引来获取其中的元素。在Python中,列表的索引从0开始,即第一个元素的索引为0,第二个元素的索引为1,以此类推。要访问列表中的最后一个元素,可以使用-1作为索引,-2表示倒数第二个元素,依此类推。 列表元素的访问、添加、删除、修改、排序等操作属于Python基础知识,这里简单介绍其中几个: 1.访问列表元素:可以使用索引号来访问列表元素。例如,list=[1,2,3],要访问第一个元素,可以使用list[0],输出为1。 2.添加元素:可以使用append()方法向列表中添加一个元素,或者使用extend()方法向列表中添加多个元素。例如,list=[1,2,3],要添加一个元素4,可以使用list.append(4);要添加多个元素5,6,7,可以使用list.extend([5,6,7])。 3.删除元素:可以使用del语句或者remove()方法来删除列表中的元素。del语句直接删除列表中指定索引的元素,例如,del list[0]可以删除列表的第一个元素;remove()方法删除第一个匹配的元素,例如,list.remove(2)可以删除列表中的元素2。 4.修改元素:可以使用索引号来修改列表中的元素,例如,list[1]=5可以将列表中第二个元素修改为5。 5.排序:可以使用sort()方法对列表进行排序,默认是升序排列,也可以指定reverse=True来进行降序排列。 以上是Python列表的基本操作,熟练掌握这些操作,可以更好地使用列表进行各种计算和数据处理。 ### 回答3: 在Python中,列表(List)是一种非常常用的数据类型,它允许我们将一组数据放在一个容器中,方便进行操作和处理。列表可以在定义时直接初始化,也可以通过append()、insert()等方法动态地添加或删除元素。 列表的索引从0开始,可以通过正、负整数来访问其中的元素。同时,列表支持切片操作,可以对其中的子序列进行访问和操作。 除了常规的访问和添加操作,列表还提供了一些其他的方法,例如sort()可以对列表进行排序,reverse()可以将列表翻转,count()可以统计某个元素的出现次数等等。 另外,列表还支持循环遍历,可以使用for-in语句来遍历其中的元素。此外,列表也可以被用作其他数据结构的实现,例如栈、队列等等。 总的来说,列表Python中一个非常灵活和强大的数据类型,可以用于各种场景下的数据处理和操作。但是需要注意,由于列表是可变的,因此在多线程、多进程等并发环境中需要考虑线程安全的问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值