python基本数据类型之——列表

一、列表—-list

python数据类型之列表,python数据类型

         
列表是因循守旧的,列表成分能够被改动

列表定义

列表是由壹多种案特定顺序排列的成分结合。在python中,用方括号([])来代表,并用逗号来分隔个中的因素。

names = ['Alex',"Tenglan",'Eric']

=================list之灰魔法================

 列表访问

  • 列表成分的造访从索引0初始,而不是索引壹开始。
  • 列表的目录能够是从负数开端。那种语法常常在供给在不掌握列表长度的情况下访问成分。

图片 1

>> names[0]
'Alex'
>>> names[2]
'Eric'
>>> names[-1]
'Eric'
>>> names[-2] #还可以倒着取
'Tenglan'

View Code

1、列表格式:

列表操作

  中括号括起来,

修改列表成分

图片 2

>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
>>> names[2] = "该换人了"
>>> names
['Alex', 'Tenglan', '该换人了', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

View Code

  逗号分隔每一种成分,

添加列表成分

  • 从列表末尾添加,利用append方法。

图片 3

>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']
>>> names.append("我是新来的")
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

View Code

  • 从列表任意地点添加,利用insert方法。

图片 4

>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> names.insert(2,"强行从Eric前面插入")
>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

>>> names.insert(5,"从eric后面插入试试新姿势")
>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

View Code

  列表中的元素得以是数字、字符串、列表、布尔值、等具有的都能放进去

除去列表成分

  • 采取“del”删除,删除的列表成分不可能再利用。

图片 5

>>> del names[2] 
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
>>> del names[4]
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> 

View Code

  • 行使pop方法删除

在pop方法中,默许是从列表末尾删除,但也能够给pop方法传参,参数表示列表的目录;利用pop方法弹出的列表成分得以被重复行使。

图片 6

 1 >>>name = ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新来的']
 2 >>> names.pop() #删除列表最后一个值 
 3 '我是新来的'
 4 >>> names
 5 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
 6 
 7 >>> names.pop(2) #删除列表任意一个值 
 8 '我是新来的'
 9 >>> names
10 ['Alex', 'Tenglan', 'Tom', 'Amy']

View Code

  • 行使列表成分值删除

采纳remove方法实现。

图片 7

1 >>>name = ['Alex', 'Tenglan', 'Eric', 'Rain']
2 >>>name.remove('Eric')
3 ['Alex', 'Tenglan','Rain']

View Code

  • 设若要从列表中剔除2个要素,而以此成分不会再以任何情势使用,那么就用“del”删除,反之,用pop方法删除。
  • 方法remove只可以删除第二个钦赐的要素。要是要刨除的值在列表中设有多个,那么快要用循环去删除。

  “集合“,”内部能够停遗弃何事物

列表排序

  • 永久性改变列表顺序

采取sort方法达成。给sort方法的参数为“reverse=True”时,能够反向排序;排序的规则是根据字母逐1排序的。

图片 8

1 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
2 >>> names.sort()
3 >>> names
4 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
5 
6 >>> names.sorted(reverse=True) #反转
7 >>> names
8 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

View Code

同一也得以使用reverse方法完毕反转。

图片 9

1 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
2 >>> names.sort()
3 >>> names
4 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
5 
6 >>> names.reverse() #反转
7 >>> names
8 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

View Code

还索要专注的是,在python三中,分歧数据类型是力不从心排序的

图片 10

1 >>> names
2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
3 >>> names.sort() #排序
4 Traceback (most recent call last):
5   File "<stdin>", line 1, in <module>
6 TypeError: unorderable types: int() < str() 

View Code

  • 保存原来列表的排列顺序

应用sorted方法达成。跟sort方法同理,给sorted方法的参数为“reverse=True”时,能够反向排序。

图片 11

1 >>>names = ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
2 >>>print(names.sorted())
3 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
4 
5 >>>print(names)
6 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']

View Code

  li=[‘alex’, ‘小名’, [12, 23, 45],
23, 23, ‘小花’]

列表成分下表获取

动用conut方法和index方法达成。

图片 12

1 >>> print(names)
2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
3 >>> names.count("Amy")
4 2
5 
6 >>> print(names)
7 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']
8 >>> names.index("Amy")
9 2 #只返回找到的第一个下标

View Code

二、列表中得以嵌套任何项目

获取列表长度

行使len方法实现。须求留意的是,在测算列表长度时,是从一发端的。

图片 13

1 >>> names = ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
2 >>> len(names)
3 8

View Code

三、能够经过索引取值,  大概切片取值(切片取值的结果也是列表)

列表切片操作

急需小心的是,“:”后面的目录代表初阶地方,“:”后边的目录表示终止位置。

图片 14

 1 >>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
 2 >>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
 3 ['Tenglan', 'Eric', 'Rain']
 4 >>> names[1:-1] #取下标1至-1的值,不包括-1
 5 ['Tenglan', 'Eric', 'Rain', 'Tom']
 6 >>> names[0:3] 
 7 ['Alex', 'Tenglan', 'Eric']
 8 >>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
 9 ['Alex', 'Tenglan', 'Eric']
10 >>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
11 ['Rain', 'Tom', 'Amy'] 
12 >>> names[3:-1] #这样-1就不会被包含了
13 ['Rain', 'Tom']
14 >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
15 ['Alex', 'Eric', 'Tom'] 
16 >>> names[::2] #和上句效果一样
17 ['Alex', 'Eric', 'Tom']

View Code

 

http://www.bkjia.com/Pythonjc/1315678.htmlwww.bkjia.comtruehttp://www.bkjia.com/Pythonjc/1315678.htmlTechArticlepython数据类型之列表,python数据类型 列表定义
列表是由1层层案特定顺序排列的因素结合。在python中,用方括号([])来表示,并用逗号来…

  print(li[3])           print(li[3:-1])

4、支持for循环,   while循环。

伍、列表成分能够举办改动

  索引修改: li [ 2 ] =120    print(li)

  索引切片修改: li [1:3] = [27, 28]

6、删除

  索引删除: del li [1]     print(li)

  索引切片删除: del li [2,4]    print(li)

7、支持 in 操作

  v = ‘alex’ in li         print(li)

八、嵌套列表查询格局

  li=[‘小王’,‘小宁’, [a, b, [d, e, f ],  c ], ‘小张’]

  print(li[2][2][0])

九、字符串转换来列表

  s=’abcdefg’

  li = list(s)

  print(li)

10、列表转换成字符串

  假设列表中即有数字又有字符串,需求本身写一个for循环

    li = [12,13,14,’xiaozhang’, ‘xiaowang’]

    s=’ ‘

    for i in li :

      s=s+str(i)

    print(s)

  若列表中的成分唯有字符串,直接用字符串join方法

  li = [‘xiaozhang’, ‘xiaowang’]

   v = ‘ ‘.join(li)

   print (v)

=====================list类中提供的艺术===================

1、 append追加

    li = [11,22,33,44]

错误方法: v = li.append('alex')
          print(v)      打印出来为none,说明v中为空
因为字符串不能修改,而列表可以直接修改,所以:可以直接写

          li.append('alex')
          print(li)  打印结果为:[...'alex']
  或者: li.append(['alex'])
      print(li)  打印结果为: [...['alex']] 

2、clear清空列表

    li.clear()
    print(li)


3、copy拷贝
    浅拷贝:v=li.copy()
                print(v)


4、count 计算元素出现的次数

    v = li.count(22)
    print(v)


5、extend 扩展原列表
   参数必须是:iterable可迭代对象(能被for循环)

         li.extend([1992,'xiaowang'])
         print(li)
         打印结果为:[...,1992, 'xiaowang']
或者   li.extend('小王同学')
         print(li)
         打印结果为:['小',‘王‘,‘同’, ’学’]    

6、index 获取当前值的索引位置(最左优先)
         v =  li.index(22)
         print(v)
     或者可以选取范围
         v=li.index('alex',1,3)

7、insert 指定索引位置插入元素
     li.insert(位置,插入的值)
     例如: li.insert(0,'alex')
                print(li)


》》》》》》》》》补充《》《》《》《》《》《》
源码中出现:    index索引,value值


8、pop 删除指定位置的值
    不指定索引时,默认删除最后一个值,并获取删除的值
        v = li.pop()
        print(li)
        print(v)
   指定索引时,删除指定位置的值,并获取删除的值
        v = li.pop(1)
        print(li)
        print(v)

9、remove 删除列表中的指定值,左边优先(括号内要填入删除的内容)
        li.remove(11)
        print(li)

10、reverse 反转,将当前列表进行反转
  li.reverse()
    print(li)

11、sort排序
   从小到大排序:
      li.sort()
   从大到小排序
      li.sort(reverse=True)
   欠两个参数:讲函数时补充 cmp, key

 二、元祖
tuple     

  成分不可被涂改,且成分不能够被扩展照旧去除,不过足以被查看

   tu = (11, ‘alex’,  ( 28, 29 ), 22, [33, 44 ], 55)

        依据惯例一般在结尾价格逗号来分辨

  一、可由此索引取值,切片取值

二、能够开展for循环(可迭代对象)

三、因为是可迭代对象:字符串、列表、元祖能够互相转换

肆、extend扩张,在元祖中同样适用

五、元祖是依样葫芦的

五、元祖的一级成分不可被修改,元祖中嵌套的列表能够被改动

》》》》》》》》两个方法《》《》《》《》《》《
count 获取指定元素在元祖中出现的次数
index 获取某个指定元素的索引,可以设定起始位置查找

三、字典 dict

  字典的value能够是任何值

 

info = {"k1": "v1", "k2": "v2"}        键值对

  布尔值,列表、字典不能够作为字典的key

①、查找字典内容

v = info[key]    例如: v=info[“k1”]

2、删除key :   del info[“k1”]

3、for循环

1、循环字典中所有的key
    for item in info.keys():
        print(item)


2、循环字典中的所有values(值)
    for item in info.values():
    prent(item)            


3、既要循环key又要循环字典中所有的值
     for item in info.keys():
        print(item,info[item])

     那么可以简写为:
    for k, v in info.items():
        print( k, v )

《》《》《》《》字典的方法《》《》《》《《》》
1、clear 清空

2、copy 浅拷贝

3、fromkeys  根据序列创建字典,并且制定统一的值
    用法: v= dict.fromkeys(['k1', 123, 'k2'], 22)

4、通过索引取key,如果字典中没有会直接报错
    get  用法:查找字典的key,key不存在时可以指定默认值

    方法一:
            dic = {"k1":23, "k2": 24}
            v= dic.get("k3")
            print(v)       如果k3不在字典中,则返回None
    方法二:
            dic = {"k1":23, "k2": 24}
            v= dic.get("k3",1111)
            print(v)       如果k3不在字典中,则返回1111      
5、items

6、 keys

7、 pop     删除。既可以指定所要删除的值,又可以拿到删除掉的值

        方法一:
        dic = {"k1":23, "k2": 24}
        v = dic.pop('k1') 
        print(dic,v)
       方法二:设定具体值,当要删除的key不存在时,返回到设置的值
         dic = {"k1":23, "k2": 24}
         v = dic.pop('k5',1111) 
         print(dic,v)   


8、  popitem随机删除,并返回删除的值

       dic = {"k1":23, "k2": 24}
        v,k = dic.popitem() 
        print(dic,v,k)   

9、setdefault设置值,如果值已经存在,并获取存在key对应的值
    如果key不存在,创建并获取新创建的key的值
   例如: dic = {"k1":23, "k2": 24}
             v = dic.setdefault("k111","alex") 
             print(dic,v)

10、update 更新

dic = {"k1":23, "k2": 24}
方法一:dic.update({'k1': 1111, 'k3',123})
            print(dic)
方法二: dic.update(k1=123, k3=345, k5='alex')
            print(dic)   

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图