python之 list、tuple、dict、set

2016-08-24   14:32:59

list

Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

例如:定义一个列表L,里面存放了一些姓氏。print(l)就输入了整个列表。

1 >>> l = [‘赵‘,‘钱‘,‘孙‘,‘李‘]
2 >>> print (l)
3
4 [‘赵‘, ‘钱‘, ‘孙‘, ‘李‘]

对列表的操作一般为:增、删、改、查。

查:

用下标取列表中的值,第一个元素的下标为0。

 1 l = [‘zhao‘,‘qian‘,‘sun‘,‘li‘,‘zhou‘,‘wu‘,‘zheng‘,‘wang‘]
 2
 3 # 查
 4 print(l)
 5 [‘zhao‘, ‘qian‘, ‘sun‘, ‘li‘, ‘zhou‘, ‘wu‘, ‘zheng‘, ‘wang‘]
 6 print(l[1])
 7 qian
 8 print(l[-1])
 9 qian
10 print(l[1:])
11 [‘qian‘, ‘sun‘, ‘li‘, ‘zhou‘, ‘wu‘, ‘zheng‘, ‘wang‘]
12 print(l[1:5])
13 [‘qian‘, ‘sun‘, ‘li‘, ‘zhou‘]
14 print(l[5:1:-1])      #从下标为5的元素开始,-1:就是倒着往前步长为1 取元素,取到下标为1的位置停止。
15 [‘wu‘, ‘zhou‘, ‘li‘, ‘sun‘, ‘qian‘]

增:

增加一个元素

 1 l = [‘zhao‘,‘qian‘,‘sun‘,‘li‘,‘zhou‘]
 2 #append, 在列表末尾追加
 3 print(l)
 4 [‘zhao‘, ‘qian‘, ‘sun‘, ‘li‘, ‘zhou‘]
 5 l.append("zhou")
 6 print(l)
 7 [‘zhao‘, ‘qian‘, ‘sun‘, ‘li‘, ‘zhou‘, ‘zhou‘]
 8
 9 #insert,根据索引插入任何想插入的位置
10 l.insert(1,‘wang‘)
11 print(l)
12 [‘zhao‘, ‘wang‘, ‘qian‘, ‘sun‘, ‘li‘, ‘zhou‘, ‘zhou‘]

 

改:

修改列表内的元素。

 1 #修改
 2 l = [‘zhao‘,‘qian‘,‘sun‘,‘li‘,‘zhou‘]
 3 print(l)
 4 [‘zhao‘, ‘qian‘, ‘sun‘, ‘li‘, ‘zhou‘]
 5
 6 l[1] = ‘lao wang‘
 7 print(l)
 8 [‘zhao‘, ‘lao wang‘, ‘sun‘, ‘li‘, ‘zhou‘]
 9
10 #批量插入
11 l[2:4] = [‘a‘,‘b‘,‘c‘]
12 print(l)
13 [‘zhao‘, ‘lao wang‘, ‘a‘, ‘b‘, ‘c‘, ‘zhou‘]

删:

 1 #删
 2 l = [‘zhao‘,‘qian‘,‘sun‘,‘li‘,‘zhou‘]
 3 print(l)
 4 l.pop(2)    #通过下标删除内容
 5 print(l)
 6 l.pop()     #pop括号内不加参数,默认删除最后一个元素
 7 print(l)
 8 del l[1]    #删除索引指的元素
 9 print(l)
10 del l
11 print(l)
12 ********************
13 [‘zhao‘, ‘qian‘, ‘sun‘, ‘li‘, ‘zhou‘]
14 [‘zhao‘, ‘qian‘, ‘li‘, ‘zhou‘]
15 [‘zhao‘, ‘qian‘, ‘li‘]
16 [‘zhao‘, ‘li‘]
17
18 print(l)
19 NameError: name ‘l‘ is not defined     #因为del l ,把整个l 列表删除了,所以print的时候报错了

排序:

 1 #排序
 2 l = [‘zhao‘,‘qian‘,‘sun‘,‘li‘,‘zhou‘,‘wang‘]
 3 print(l)
 4 l.sort()        #默认从小到大排序,因为reverse的默认值是False
 5 print(l)
 6 l.sort(reverse=True)        #sort括号里加reverse=True从大到小排序
 7 print(l)
 8 l.reverse()     #反转顺序
 9 print(l)
10 l.reverse()
11 print(l)
12 ******************
13 [‘zhao‘, ‘qian‘, ‘sun‘, ‘li‘, ‘zhou‘, ‘wang‘]
14 [‘li‘, ‘qian‘, ‘sun‘, ‘wang‘, ‘zhao‘, ‘zhou‘]
15 [‘zhou‘, ‘zhao‘, ‘wang‘, ‘sun‘, ‘qian‘, ‘li‘]
16 [‘li‘, ‘qian‘, ‘sun‘, ‘wang‘, ‘zhao‘, ‘zhou‘]
17 [‘zhou‘, ‘zhao‘, ‘wang‘, ‘sun‘, ‘qian‘, ‘li‘]

身份判断

#身份判断
a = [‘zhao‘,‘qian‘,‘sun‘,‘li‘,‘zhou‘,‘wang‘]
print(type(a) is list)
print(type(a) is str)

*************************
True
False

tuple

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。

1 t = (‘zhao‘,‘qian‘,‘sun‘,‘li‘,‘zhou‘,‘wang‘)
2 print(t)
3 print(t[1])
4
5 *************************
6 (‘zhao‘, ‘qian‘, ‘sun‘, ‘li‘, ‘zhou‘, ‘wang‘)
7 qian

dict

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。用dict可以装下整个世界,你信吗?

 1 #定义一个字典,存入一些用户信息
 2 dic = {"name":"ligq","age":23,‘job‘:‘IT‘}
 3 print(dic)      #输出整个字典
 4 #遍历dic字典中的所有 键
 5 for i in dic:
 6     print(i,end=‘ ‘)
 7 print()
 8 #遍历dic字典中的所有 值
 9 for i in dic:
10     print(dic.get(i),end=‘ ‘)           #用dict的 get(键)方法,取字典这对应的 值
11 print()
12 #遍历dic字典中的所有 键和值 ---推荐使用
13 for i in dic:
14     print(i,dic[i],end=‘ ‘)
15 print()
16 #使用字典的items方法,遍历dic字典中的所有 键和值
17 for i,v in dic.items():
18     print(i,v,end=‘ ‘)
19 print()
20 dic1 = {1:23423,8:32,2:23,5:42}
21 print(dic1)
22 print(dic1.values())        #获取值
23 print(dic1.items())         #获取键-值对
24 print(dic1.keys())          #获取键
25
26 print(dic1.pop(1))          #删除键是1的键值对,并返回删除的值
27 print(dic1)
28
29
30 *******************************
31 {‘age‘: 23, ‘job‘: ‘IT‘, ‘name‘: ‘ligq‘}
32 age job name
33 23 IT ligq
34 age 23 job IT name ligq
35 age 23 job IT name ligq
36 {8: 32, 1: 23423, 2: 23, 5: 42}
37 dict_values([32, 23423, 23, 42])
38 dict_items([(8, 32), (1, 23423), (2, 23), (5, 42)])
39 dict_keys([8, 1, 2, 5])
40 23423
41 {8: 32, 2: 23, 5: 42}
时间: 2024-08-06 23:55:08

python之 list、tuple、dict、set的相关文章

Python中list,tuple,dict,set的区别和用法

Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的.当然也可以定义一个空的List: L = [] Python中的List是有序的,所以要访问List的话显然

Python容器--list, tuple, dict, set

## Python 中有四种用于存放数据的序列--list, tuple, dict, set ## list 列表 - 可以存放任意类型数据的有序序列 - 列表可以由零个或多个元素组成,元素之间用逗号分开,整个列表被方括号所包裹: - 创建 - 使用[]或者list()创建列表 - new_list = ["Stanley", "Loves", "Lily"] - 访问及修改 - 使用列表名[索引]来访问和修改列表元素,索引初始值为0,最大值不

list,tuple,dict,set常用方法

Python中list,tuple,dict,set常用方法

Python中内置数据类型list,tuple,dict,set的区别和用法

Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. (原链接:http://www.jb51.net/article/76339.htm) List 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: ? 1 L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的.当然也可以定

Python中的list,tuple,dict和set

List list的创建与检索 Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 构造list非常简单,直接用 [ ] 把list的所有元素都括起来,就是一个list对象. Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据: 例如: >>> L = ['Michael', 100, True] list索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索

python:为什么Tuple操作速度比List快

Dive into python中说道Tuple是不可变的List,一旦创建了一个Tuple,就不能以任何方式改变它.但是Tuple 比 list 操作速度快.如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 代替 list. 我写了几行代码测试了一下: example_list=list() for i in range(0,500,1): example_list.append(i) example_tuple=tuple(example_list) star

python入门14 字典dict

字典dict是无序的key:value格式的数据序列 #coding:utf-8 #/usr/bin/python """ 2018-11-11 dinghanhua 字典 """ '''dict 无序的key:value组合 key要是不可变类型,如数字.字符串.元组 key不可重复,重复的会被最后一个覆盖 ''' dict_id = {'1':'python','2':'java','3':'javascript','4':'go','2':

python获取两个dict的不同

参数: dict1, dict2 需求:如果dict1和dict2中有不同的key,那么返回这个(key, dict1[key]):如果dict1和dict2中有相同的key,但是value不同,返回这个(key, dict1[key]) 实现: def dict_different_data(first, second): """ get the different data bewtten two dicts objects return :result = first

Python之创建tuple和“可变”的tuple

Python之创建tuple tuple是另一种有序的列表,中文翻译为" 元组 ".tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了. 同样是表示班里同学的名称,用tuple表示如下: >>> t = ('Adam', 'Lisa', 'Bart') 创建tuple和创建list唯一不同之处是用( )替代了[ ]. 现在,这个 t 就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法.所以,新同学没法

一入python深似海--dict(字典)的一种实现

下面是python中字典的一种实现,用list数据结构实现字典.具体是这样的:[[(key1,value1),(key2,value2),...],[],[],...] 内部每一个hash地址是一个list,存放hash地址相同的(key,value)对. dict代码 def Map(num_buckets=256): """Initializes a Map with the given number of buckets.""" aMap