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

一、列表----list

列表是有序的,列表元素可以被修改

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

1、列表格式:

  中括号括起来,

  逗号分隔每个元素,

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

  “集合“,”内部可以放置任何东西

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

2、列表中可以嵌套任何类型

3、可以通过索引取值,  或者切片取值(切片取值的结果也是列表)

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

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

5、列表元素可以进行修改

  索引修改: 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)

8、嵌套列表查询方式

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

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

9、字符串转换成列表

  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)

按照惯例一般在末尾价格逗号来识别

  1、可通过索引取值,切片取值

2、可以进行for循环(可迭代对象)

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

4、extend扩展,在元祖中同样适用

5、元祖是有序的

5、元祖的一级元素不可被修改,元祖中嵌套的列表可以被修改

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

三、字典 dict

  字典的value可以是任何值

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

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

1、查找字典内容

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)
上一篇:关于each


下一篇:IT互联网行业中相关职能的缩写