返回
基础
分类

list.xx()就是对象的方法,d=None)获取字典中指定键的值

日期: 2020-01-02 08:00 浏览次数 : 90

Python字典基础知识补充,python字典基础知识

day2 字典常用的方法,day2字典

    字典创建的方式:

    (1)d1 = {"k1":"v1","k2":"v2","k3":"v3"}
  (2)dic = dict(k1="v1",k2="v2",k3="v3")

    字典是由键值对组成的,keys()代表所有的键,values()代表所有对应的值,items()是所有的键值对。

    1.get(self,key,d=None)

    get(self,key,d=None)获取字典中指定键的值,get()是用来避免键不存在时候的错误,我们来看一个实例:

    >>> dic = {'k3': 'v3', 'k1': 'v1', 'k2': 'v2'}
  >>> dic["k2"]
  'v2'
  >>> dic["k4"]
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
  KeyError: 'k4'
    >>> a = dic.get("k4","not exit")
  >>> a
  'not exit'
    上面代码中,我们知道,如果使用dict[key]如果键key不存在,那么就会报错,KeyError,键不存在,get(self,key,d=None)就是避免这种情况出现的,我们知道,使用get()方法如果获取不到,默认返回的是None,但是我们也可以指定我们要求返回的值,上面返回的是,不存在键。

    2.pop(self,k,d=None)

    pop(self,k,d=None)我们知道,字典是无序的,因此我们删除字典中元素的时候,必须告诉字典删除那个一元素。当这个键不存在的时候,默认返回的是None,我们也可以自己指定返回值。

    >>> d1 = {'k3': 'v3', 'k1': 'v1', 'k2': 'v2'}
  >>> d1.pop("k3")
  'v3'
  >>> d1.pop("k4",666)
  666
    从上面代码可以看出,我们首先删除的是"k3",由于"k3"存在,因此删掉了键值对,接着我们删除"k4",由于"k4"不存在,我们指定了如果指定的键不存在,返回什么样的值。我们默认返回的是666.

    3.popitem(self)

    popitem(self)随机删除字典中的元素。

    >>> d1 = {'k1': 'v1', 'k2': 'v2'}
  >>> d1["k3"] = "v3"
  >>> d1.popitem()
  ('k3', 'v3')
  >>> d1.popitem()
  ('k1', 'v1')
    popitem(self)删除元素,随机删除字典中的键值对,随机的,popitem()

    4.setdefault(self,k,d=None)

    setdefault(self,k,d=None)向字典中添加元素,默认如果没有指定键的话,就把值当做None。实例如下:

    >>> d1 = {'k2': 'v2'}
  >>> d1.setdefault("k3")            (1)
  >>> d1 
  {'k3': None, 'k2': 'v2'}
  >>> d1.setdefault("k1","v1")
  'v1'
  >>> d1
  {'k3': None, 'k1': 'v1', 'k2': 'v2'}
    setdefault(self,k,d=None)是向字典中添加元素,如果没有指定值,默认为None,如上(1)处。

    5.update(self,E=None,**F)

    >>> d1 = {'k3': None, 'k1': 'v1', 'k2': 'v2'}
  >>> d1.update(k5="v5")                                                                       (1)
  >>> d1
  {'k5': 'v5', 'k3': None, 'k1': 'v1', 'k2': 'v2'}
  >>> d1.update(k6="v6",k7="v7")
  >>> d1
  {'k5': 'v5', 'k7': 'v7', 'k3': None, 'k1': 'v1', 'k6': 'v6', 'k2': 'v2'}

    >>> d1.update({"k11":"v11"})                                                                  (2)
  >>> d1
  {'k11': 'v11', 'k5': 'v5', 'k7': 'v7', 'k3': None, 'k1': 'v1', 'k6': 'v6', 'k2': 'v2'}

    上面我们使用update()方法来更新字典,其实就相当于列表中的extend()的方法,以组的形式向字典中添加元素。使用update()向字典中添加元素有两种方式,如上(1)和(2),一种是以键值对(key-value)形式进行添加,还有一种是以字典的形式进行添加(key:value)。

   

  

   

字典常用的方法,day2字典 字典创建的方式: (1)d1 = {"k1":"v1","k2":"v2","k3":"v3"} (2)dic = dict(k1="v1",k2="v2",k3="v3") 字典是由键值对组成的...

一、列表功能及方法

1、添加键值对

#!/usr/bin/env python

i1 = {'k1':'cai' , 'k2':123}
print(i1)
i1['k3'] = 0
i1['k4'] = "rui"
print(i1)

=====================================
{'k1': 'cai', 'k2': 123}
{'k1': 'cai', 'k2': 123, 'k3': 0, 'k4': 'rui'}

 

1,建立列表,列表的元素可以包含任何数数据类型,可以是数字,字符串,列表,元组,字典,集合和布尔值

2、修改字典中的值

#!/usr/bin/env python

i1 = {'k1':'cai' , 'k2':123}
print(i1)
i1['k1'] = 'rui'
print(i1)

================================
{'k1': 'cai', 'k2': 123}
{'k1': 'rui', 'k2': 123}

  

必赢手机登录网址 1必赢手机登录网址 2

3、删除键值对

i1 = {'k1':'cai' , 'k2':123}
print(i1)
del i1['k1']
print(i1)

=====================================
{'k1': 'cai', 'k2': 123}
{'k2': 123}

 

#!/usr/bin/env python

i1 = {'k1':'cai' , 'k2':123}
for key,value in i1.items():
    print(key,value)

=======================================
k1 cai
k2 123

  

1、添加键值对 #!/usr/bin/env pythoni1 = {'k1':'cai' , 'k2':123}print(i1)i1['k3'] = 0i1['k4']必赢手机登录网址 , = "rui"print(i1)=======...

li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]  # 通过list类创建的对象,li

View Code

列表list在Python中其实就是一个类,赋值后就是调用这个类的一个对象,list.xx()就是对象的方法,也可称之为参数。

2,列表的在后面添加元素,方法为append()

必赢手机登录网址 3必赢手机登录网址 4

1 li = [11, 22, 33, 22, 44]2  li.append(5)3  li.append("alex")4  li.append([1234,2323])5  print

View Code

2 清空列表
li.clear()
print

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

  1. 计算元素出现的次数
    v = li.count
    print

5. 扩展原列表,参数:可迭代对象,方法为extend()会把一个可迭代的对象,迭代出来作为元素加入到列表中,也就是替我们用For循环逐个加入到列表。

必赢手机登录网址 5必赢手机登录网址 6

li = [11, 22, 33, 22, 44]li.append([9898,"不得了"])print

View Code

输出结果为:

必赢手机登录网址 7必赢手机登录网址 8

[11, 22, 33, 22, 44, [77, 99]]>>> li = [11, 22, 33, 22, 44]>>> li.index(22)1        只查到第一个元素22所在的索引位置

View Code

[11, 22, 33, 22, 44, 9898, '不得了']

必赢手机登录网址 9必赢手机登录网址 10

>>> li = [11, 22, 33, 22, 44]>>>>>> li.extend #如果输入的对象是不可迭代的,它会报错。Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: 'int' object is not iterable

View Code

它与append的差别在于,append会把整个输入对象作为一个元素加入到列表的后面。

  1. 根据值获取当前值索引位置方法为index

必赢手机登录网址 11必赢手机登录网址 12

>>> li = [11, 22, 33, 22, 44]>>> li.append([77,99])>>> print[11, 22, 33, 22, 44, [77, 99]]

View Code

  1. 在指定索引位置插入元素 ,方法为insert()

必赢手机登录网址 13必赢手机登录网址 14

>>> li = [11, 22, 33, 22, 44]>>> li.insert  #指定在第一个位置插入99>>> print[99, 11, 22, 33, 22, 44]>>> li.insert  #指定在第三个位置插入99>>> print[99, 11, 99, 22, 33, 22, 44]

View Code

8、 删除某个值(1.指定索引;2. 默认最后一个),并获取删除的值
li = [11, 22, 33, 22, 44]
v = li.pop()
print

[11, 22, 33, 22]

print

44

li = [11, 22, 33, 22, 44]
v = li.pop
print

[22, 33, 22, 44]
print

11

  1. 删除列表中的指定值,左边优先 方法remove()
    li = [11, 22, 33, 22, 44]
    li.remove
    print

[11, 33, 22, 44] 只删除第一个元素22
PS: pop默认从最后一个删除, remove默认左边优先, del li[0]删除指定索引位置的元素 del li[7:9]切片整段删除, clear清空列表。

10、索引取值

li = [11, 22, 33, 22, 44]

print

33

11,切片,切片结果也是列表

li = [11, 22, 33, 22, 44]
print 取值的索引范围大于等2,小于4.

[33,22]

二、元组功能及方法

元组,元素不可被修改,不能被增加或者删除
tuple
tu = (11,22,33,44)
tu.count,获取指定元素在元组中出现的次数
tu.index

三、字典的功能和方法

# 字典
# dict
# dict
# dic = {
# "k1": 'v1',
# "k2": 'v2'
# }
# 1 根据序列,创建字典,并指定统一的值
# v = dict.fromkeys(["k1",123,"999"],123)
# print

# 2 根据Key获取值,key不存在时,可以指定默认值
# v = dic['k11111']
# print
# v = dic.get('k1',111111)
# print

# 3 删除并获取值
# dic = {
# "k1": 'v1',
# "k2": 'v2'
# }
# v = dic.pop
# print
# k,v = dic.popitem()
# print

# 4 设置值,
# 已存在,不设置,获取当前key对应的值
# 不存在,设置,获取当前key对应的值
# dic = {
# "k1": 'v1',
# "k2": 'v2'
# }
# v = dic.setdefault('k1111','123')
# print

# 5 更新
# dic = {
# "k1": 'v1',
# "k2": 'v2'
# }
# dic.update({'k1': '111111','k3': 123})
# print
# dic.update(k1=123,k3=345,k5="asdf")
# print

# 6 keys() 7 values() 8 items() get update
##########

# 1、基本机构
# info = {
# "k1": "v1", # 键值对
# "k2": "v2"
# }
#### 2 字典的value可以是任何值
# info = {
# "k1": 18,
# "k2": True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': ,
# }
# ],
# "k4": (11,22,33,44)
# }
# print

#### 3 布尔值、列表、字典不能作为字典的key
# info ={
# 1: 'asdf',
# "k1": 'asdf',
# True: "123",
# # [11,22]: 123
# : 123,
# # {'k1':'v1'}: 123
#
# }
# print

# 4 字典无序

# info = {
# "k1": 18,
# "k2": True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': ,
# }
# ],
# "k4": (11,22,33,44)
# }
# print

# 5、索引方式找到指定元素
# info = {
# "k1": 18,
# 2: True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': ,
# }
# ],
# "k4": (11,22,33,44)
# }
# # v = info['k1']
# # print
# # v = info[2]
# # print
# v = info['k3'][5]['kk3'][0]
# print

# 6 字典支持 del 删除
# info = {
# "k1": 18,
# 2: True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': ,
# }
# ],
# "k4": (11,22,33,44)
# }
# del info['k1']
#
# del info['k3'][5]['kk1']
# print

# 7 for循环
# dict
# info = {
# "k1": 18,
# 2: True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': ,
# }
# ],
# "k4": (11,22,33,44)
# }
# for item in info:
# print
#
# for item in info.keys():
# print

# for item in info.values():
# print

# for item in info.keys():
# print(item,info[item])

# for k,v in info.items():
# print

# True 1 False 0
# info ={
# "k1": 'asdf',
# True: "123",
# # [11,22]: 123
# : 123,
# # {'k1':' v1'}: 123
#
# }
# print