Python中的元组及字典常用方法举例

Tips:

作者:fy88fy

来源:https://my.oschina.net/u/3804957/blog/1788302

1. 元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

元组和列表十分相似

元组和字符串一样是不可以变的。

元组可以存储一系列的值

元组通常用在用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。

如下实例:

>>> t = (1,3,5,'a',(1,))

>>> type(t)

>>> print(t)

(1,3,5,'a', (1,))

创建空元组:

tup1= ();

元组中只包含一个元素时,需要在元素后面添加逗号:

tup1= (50,);

1.1 元组操作:

元组和字符串一样属于序列类型,可以通过索引和切片操作

元组值不可变

元组的拆分:

>> t = (1,2,3)

>>> a,b,c = t

>>>print(t)

(1, 2, 3)

>>>print(a)

1

>>>print(b+c)

5

>>> t = (1,3,5,'a',(1,))

>>>type(t)

>>>print(t)

(1, 3, 5, 'a', (1,))

>>>print(t[1])

3

元组中引用变量:

>>>print(t)

(1, 2, 3)

>>> t1 = (t,4,5,"abc")

>>>print(t1)

((1, 2, 3), 4, 5, 'abc')

元组切片:

>>> t1 = (t,4,5,"abc")

>>>print(t1)

((1, 2, 3), 4, 5, 'abc')

>>> x,y,z,m = t1

>>>print(x)

(1, 2, 3)

>>>print(m)

abc

1.2 元组的方法:

(1) index()方法:查看元素下标是多少

>>> t = (1,3,5,6,6,7,7,8)

>>> t.index(3)

1

>>> t.index(8)

7

(2) conunt()方法:统计某无素的个数

>>> t = (1,3,5,6,6,7,7,8)

>>> t.count(6)

2

>>> t.count(8)

1

元组中的内置函数:

举例如下:

>>> tuple1 = (1,2,3)

>>> tuple2 = (2,3,4,5)

>>> len(tuple1)

3

>>> max(tuple1)

3

>>> min(tuple1)

1

>>> list = [1,3,5,6,7]

>>> tuple(list)

(1, 3, 5, 6, 7)

>>> list

[1, 3, 5, 6, 7]

2.字典

字典是python中的唯一的映射类型(哈希表)。字典对象是可变的,但是字典的键必须使用不可变对象,一个字典中可以使用不同类型的键值。字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式为d = 。键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

字典的方法

keys()

values()

get()

items()

举例如下:

>>> dic = {'a':1,'b':2}

>>> dic

{'a':1,'b':2}

>>> dic.keys()

dict_keys(['a','b'])

>>> dic.values()

dict_values([1,2])

>>> len(dic)

2

>>> dic = {'a':1,'b':2}

>>> dic.get('b')

2

>>> dic["b"]

2

更改字典内value:

>>> dic

{'a':1,'b':2}

>>> dic['a'] =8

>>> dic

{'a':8,'b':2}

查看key是不是在字典里

>>>dic

{'a':1,'b':2}

>>>'b'indic

True

>>>"c"indic

False

变为列表:

>>> dic

{'a':8,'b':2}

>>> dic.items()

dict_items([('a',8), ('b',2)])

复制字典:

>>> dic

{'a':8,'b':2}

>>> dic1 = dic.copy()

>>> dic1

{'a':8,'b':2}

删除字典内容:

>>> dic

{'a':8,'b':2}

>>> dic.pop("a")

8

>>> dic

{'b':2}

更新字典,两个字典更新为一个:

>>> dic

{'b':2}

>>> dic1

{'a':8,'b':2}

>>> dic.update(dic1)

>>> dic

{'b':2,'a':8}

创建字典:

>>> dic = {}

>>> dic = dict()

>>> dict(a=1,b=2)

{'a':1,'b':2}

>>> dict((["c",3],["d",4]))

{'c':3,'d':4}

#fromkeys(),字典元素有相同的值时,默认为None.

>>> dic.fromkeys('abcd')

{'a': None,'b': None,'c': None,'d': None}

#自动生成100个key,value默认为100

dic.fromkeys(range(100),100)

{:100,1:100,2:100,3:100,4:100,5:100,6:100,7:10.....100:100}

访问字典:

>>> dic1

{'a':8,'b':2}

>>> dic["b"]

2

for循环访问:

>>>fork,vindic1.items():print(k,v)

...

a8

b2

3.Python3中常用的方法

help()查看帮助信息

>>help(list)

Helponlistobject:

classlist(object)

|list() ->newemptylist

|list(iterable) ->newlistinitialized from iterable's items

dir() 看当前环境中变量

>>> dir()

['__builtins__','a','b','c','dic','dic1','django','django_manage_shell','i','input','k','list','m','sys','t','t1','tuple1','tuple2','v','x','y','z']

类型转换:

str()

int()

list()

dict()

tuple()

自动生成序列:

range()

可迭代的,循环取值:

items()

#!/usr/bin/env python

#-*- coding: utf-8 -*-

#@Time : 2018/4/1 21:56

#@Author : Feng Xiaoqing

#@File : test.py

#@Function: -----------

list1 =

for i in list1.items():

print(i)

#结果:

(1, 1)

(2, 2)

(3, 3)

默认输入都为字符串:

input ()

#!/usr/bin/env python

#-*- coding: utf-8 -*-

#@Time : 2018/4/1 21:56

#@Author : Feng Xiaoqing

#@File : test.py

#@Function: -----------

x = input("x = ")

print(x)

求长度:

len()

>>> list

[1, 3, 5, 6, 7]

>>> len(list)

5

看类型:

type()

>>> type(list)

a是不是什么类型

isinstance(a,list)

#!/usr/bin/env python

#-*- coding: utf-8 -*-

#@Time : 2018/4/1 21:56

#@Author : Feng Xiaoqing

#@File : test.py

#@Function: -----------

list1 = [1,3,5]

print(list1)

a=isinstance(list1,list)

print(a)

#结果

[1, 3, 5]

True

有没有某属性

print(hasttr(l1,"append"))

#!/usr/bin/env python

#-*- coding: utf-8 -*-

#@Time : 2018/4/1 21:56

#@Author : Feng Xiaoqing

#@File : test.py

#@Function: -----------

list1 = [1,3,5]

print(list1)

a=hasattr(list1,"append")

print(a)

#结果

[1, 3, 5]

True

打印结果:

print()

#!/usr/bin/env python

#-*- coding: utf-8 -*-

#@Time : 2018/4/1 21:56

#@Author : Feng Xiaoqing

#@File : test.py

#@Function: -----------

a="hello fengxiaoqing"

print(a)

#结果:

hello fengxiaoqing

生成可迭代列表,(index,value)

enumerate()

>>>foriinenumerate(list):

...print(i)

...

(,1)

(1,3)

(2,5)

(3,6)

(4,7)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180412B0TINT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券