数据类型:list,tuple,dict的基本使用及内置方法

数据类型的基本使用及内置方法

  • 列表list的基本使用

  • 1、用途:按照位置存放多个任意类型的值

  • 2、定义方式:在[ ]内用逗号分隔开多个任意类型的值

 l = [11,11.33,"xxx",[11,22,33]]  # l = list(...)

 print(type(l))

# list数据类型转换:把可迭代的类型转成列表

# 可以被for循环遍历的类型都是可迭代的

 res = list("hello")

 res = list({"k1":111,'K2':2222})

 print(res)

 print(list(range(1000)))
  • 3、常用操作 + 内置的方法

=》=》=》优先掌握的操作:(*****)

1、按索引存取值(正向存取+反向存取):即可存也可以取

 l=[111,222,333]

 print(id(l))

 l[0]=666

 print(l)

 print(id(l))

 l=[111,222,333]

 l[0]=666

 l[3]=777  # 列表索引不能超出范围

 l[3]  # 列表索引不能超出范围

2、切片(顾头不顾尾,步长)

 l=[11,22,33,44,55,66,77,88,99]

 res=l[1:7:2]

 res=l[:]

 res=l[::-1]

 print(res)
3、长度
 print(len(["aaa",111,2222]))
4、成员运算in和not in
 print(111 in ["aaa",111,2222])
5、追加
 l=[111,222,333]
 l.append(444)
 l.append(555)
  print(l)

## 插入

 l=[111,222,333]
 l.insert(1,6666)  # 索引,值
 print(l)

    
 l=[111,222,333]
 res = l.append(444)   # 值
 res = l.insert(1,444)
 print(res)
6、删除
 l=[111,222,333]  
    
# 万能删除

 del l[0]

 print(l)

# l.remove(指定元素)

 res=l.remove(222)

 print(l)

 print(res)  #None

# l.pop(指定索引)

 res=l.pop(1)

 print(l)

 print(res)
7、循环
 l=[111,222,333]

 for x in l:

    print(x)
 for i,x in enumrate(l)
    print(i,x)

=》=》需要掌握的操作(****)

l = [11,22,33,44,33,55]
new_l = l.copy()   # new_l = l[:]  # 浅拷贝

print(len(l))  # l._len_() # 长度


# l.index()        # 查看某一个元素出现的索引
print(l.index(33))   # 对应2号索引
print(l.index(777))  # 找不到就报错

# l.count()        # 统计某一个元素出现的个数
print(l.count(33)) # 3  出现3次

# l.clear          # 清空列表,把列表里面所有元素都删掉
l.clear()
print(l)           # [] 剩下空列表

# l.extend         # 往列表里面一次加多个值
l.extend('hello')  # 底层相当于调了一个for循环
l.extend([1,2,3])  
l.append([1,2,3])  # 往列表里加了一个子列表
print(l)

# l.reverse()      # 把列表里面的元素倒过来
l.reverse()
print()

# l.sort()         # 排序
l=[11,-3,9,7,99,73]
l.sort()           # 默认从小到大的顺序
l.sort(reverse=Ture) # 从大到小的顺序
print(l)           
  • 该类型总结

    ​ 存多个值

    ​ 有序

​ 可变


  • 元组tuple的基本使用

  • 1、用途:元组就相当于一种不可变的列表,所以说元组也是按照位置存放多个任意类型的元素
  • 2、定义方式:在 () 内用逗号分隔开多个任意类型的元素
x = (11)
print(x,type(x))  # 11 <class 'int'>

#   整型  浮点型  字符串    列表
t = (11, 11.33, "xxx", [44,55])
print(t[-1][0])   # 44
print(type(t))    # <class 'tuple'>

# tuple数据类型转换:只要是可迭代的类型都可以转换成元组tuple

# 注意:如果元组内只有一个元素,那么必须用逗号分隔

t = (11,)
print(type(t))    # <class 'tuple'>

  • 3、常用操作+内置方法

优先掌握操作:(****)

1、按索引取值(正向取+反向取):只能取,不能改

t = (11, 22, 33)
t[0] = 7777   # 元组不支持赋值操作

2、切片(顾头不顾尾,步长)

t = (11, 22, 33, 44, 55, 666)
print(t[0:4:2])  # (11, 33)

3、长度

t = (11, 22, 33, 44, 55, 666)
print(len(t))    #  6

4、成员运算in和not in

t = (11, 22, 33, [44, 55, 666])
print([44, 55, 666] in t)     # True

5、循环

t = (11, 22, 33, [44, 55, 666])
for x in t:
print(x)
  • 需要掌握的
t = (33, 22, 33, [44, 55, 666])
print(t.count(33))   # 2  统计某个元素出现的个数
print(t.index(33, 1, 4)) # 2 指定范围从1开始找
  • 该类型总结

​ 存多个数

​ 有序

​ 不可变:(元组指的不可变,是元组索引对应的内存地址不可变,

​ 如果元组内子元素是列表的话是可以改的)


  • 字典dict的基本使用

  • 1、用途:按照key:value的方式存放多个值,其中key对value应该有描述性的效果
  • 2、定义方式:在{}内用逗号分隔开多个元素,每个元素都是key:value的组合,其中value可以是
    任意类型但是key必须是不可变类型,通常是字符串类型,并且key不能重复
    d={1:111111,1.1:22222222222,"k1":333333,(1,2,3):44444444,[1,2,3]:5555}  # d=dict(...)
    print(d[1])
    print(d[1.1])
    print(d[(1,2,3)])
    # TypeError: unhashable type: 'list'
    # <class 'tuple'>
    
    # dict数据类型转换 (数据类型的转换比较狭窄)
    res = dict([("name","egon"),["age",18],["gender","male"]])
    print(res) # {'name':'egon', 'age': 18, 'gender':'male'}
    
    res = dict(a=1,b=2,c=3)  # 可以用这种方式造字典
    print(res)             # {'a':1, 'b':2, 'c':3}
    
    d={}                # 造空字典
    d=dict()
    print(type(d))
    
    # {} + fromkeys 可以快速初始化字典
    
    res = {}.fromkeys(['name',"age","gender"],None) # 前面每一个值都跟None配对
    res = {}.fromkeys(['name',"age","gender"],11)  #前面每一个值都跟11配对
    res["name"]=666       # 只有name值变了,其余的都不变
    
    # key先准备好,value值先置空None,保证初始状态之后再赋值给value
    # 通常都是None
    res = {}.fromkeys(['name',"age","gender"],[])
    res["name"]=666
    print(res)
    res["name"].append(1111111)
    print(res)
    
  • 3、常用操作+内置的方法

    =》=》=》优先掌握的操作:(*****)

1、按key存取值:可存可取

d={"k1":111,'k2':222}
print(d['k1'])

d['k1']=6666
d['k3']=6666     # 字典是可以根据不存在的key往里面加值的
print(d)

2、长度len

d={"k1":111,'k2':222}
print(len(d))   # 2 

3、成员运算in和not in:判断的是key

d={"name":"egon",'age':18}
print("egon" in d)    #   False
print("name" in d)    #   True

4、删除

d={"name":"egon",'age':18}
print(d)
del d["name"]      # 万能删除法

v = d.pop("name")  # 指定key删除
print(d)           # 显示key已经删除
print(v)           # pop删除功能会把删除key对应的value值返回 

item = d.popitem()
print(item)  # popitme删除法会把删除的key和value值存成元组返回
print(d)

5、键keys(),值values(),键值对items()

d={"name":"egon",'age':18,"gender":"male"}
print(d.keys())
print(d.values())
print(d.items())

6、循环

d={"name":"egon",'age':18,"gender":"male"}
for k in d.keys():
    print(k)

for k in d:         # 不加.keys()默认就是
    print(k)    

for v in d.values(): # 只遍历value
    print(v)

for k,v in d.items():  # k,v = ('gender', 'male'),
    print(k,v)

# 用list的方式还原成Python 2 的样子
print(list(d.keys()))
print(list(d.values()))
print(list(d.items()))

7、d.get()(取值方式)

d={"name":"egon",'age':18,"gender":"male"}
print(d["name"])      # 通常取值用这种方式
print(d.get("name"))


print(d["xxx"])      # key不存在 报错
print(d.get("xxx"))  # 没取到key返回None ,key值不存在的时候采用此种方式


=》=》需要掌握(****)

d={"name":"egon",'age':18,"gender":"male"}
d.clear()     # 清空字典里面的key和value值
print(d)      # {}

d.copy()      # 浅copy

d={"name":"egon",'age':18,"gender":"xxx"}
if "gender" not in d:
    d['gender']="male" 
print(d)


d.setdefault()  # key不存在则添加key:value,key如果存在则什么都不做
d.setdefault("gender","male")   # 与上面if 同种功能
print(d)

d = {'name': 'egon', 'age': 18, }
res = d.setdefault("gender","xxx")
print(d)               # d = {'name': 'egon', 'age': 18,'gender': 'xxx'}  可添加元素
print(res)              # xxx  返回添加的value值

d = {'name': 'egon', 'age': 18,'gender': 'xxx'}
res = d.setdefault("gender","male")
print(d)       # d = {'name': 'egon', 'age': 18,'gender': 'xxx'}   不可改值或替换
print(res)    # xxx 返回value值


d.update()  # 更新字典,不相同的加入老字典,相同的新替旧
d={"name":"egon",'age':18,"gender":"male"}
d.update({"k1":111,"name":"xxx"})   
print(d)

d = {"name":"egon", "age":18,"gender": 'xxx'}
d.update({"gender":"male","hobbes":"swin"})   # 更新,不同key添加,key相同,value新值替换旧址
print(d)



  • 该类型总结

​ 存多个值

​ 无序

​ 可变

d={'k1':111}
print(id(d))
d['k1']=2222222
print(id(d))
原文地址:https://www.cnblogs.com/gfeng/p/14180879.html