博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python_列表,元组和字典的异同
阅读量:4679 次
发布时间:2019-06-09

本文共 3350 字,大约阅读时间需要 11 分钟。

1,列表:list

可变的数据类型,可以被改变,可以进行嵌套处理,可在一个列表中存储一个序列的项目

指明一个列表的方法是:使用方括号

代码示例:

>>> fruit_list = ['apple', 'pear', 'orange', 'banana', 'watermetton', 'strawberry']>>> lenrth = len(fruit_list)>>> print lenrth6>>> for items in fruit_list:    print items,    apple pear orange banana watermetton strawberry>>> fruit_list.append('pawpaw')                     ###添加一个元素>>> fruit_list.del('apple')                        ###列表中删除一个元素不能用.del(),而是.remove()SyntaxError: invalid syntax>>> fruit_list.remove('aple')Traceback (most recent call last):  File "
", line 1, in
fruit_list.remove('aple')ValueError: list.remove(x): x not in list>>> fruit_list.remove('apple')>>> fruit_list.pop()'pawpaw'>>> fruit_list.count('apple') ###.count()函数不是统计列表的长度,而是查找列表中某个元素出现的次数,Len(list)用于计算列表长度0>>> print fruit_list['pear', 'orange', 'banana', 'watermetton', 'strawberry']

2,元组

和列表类似,但是元组是不可修改的,可以进行嵌套

指明一个元组的方法:使用圆括号,中间使用“ , ”将项目分隔

创建一个元组:使用逗号分隔,或者使用tuple()函数 eg:1,2,3  ;tuple([1,2,3])

代码示例:

>>> animal_tuple = ('fish', 'snake', 'wolf',('dog', 'cat', 'sheap'))>>> len(animal_tuple)                  ##求解元组的长度4>>> 1,2,3                              ##创建一个元组(1, 2, 3)>>> tuple([1,2,3])(1, 2, 3)>>> >>> animal_tuple.append('mouse')           ##元组是不可修改的Traceback (most recent call last):  File "
", line 1, in
animal_tuple.append('mouse')AttributeError: 'tuple' object has no attribute 'append'>>> animal_tuple.index('dog') ##嵌套在元组内的元组元素无法检索到!!!!!Traceback (most recent call last): File "
", line 1, in
animal_tuple.index('dog')ValueError: tuple.index(x): x not in tuple>>> animal_tuple.index('fish') ##元组的开始元素的标号是00

3,字典

把键和值联系在一起,其中键必须是唯一的,键和值之间用冒号:进行分隔

字典的表示方法:使用{},键和值之间用冒号“:”隔开,项之间用逗号“,”隔开

代码示例:

>>> phonebook_dict = {
'Alice': '23456', 'Tom':'67890', 'Snowy': '67845'} ##创建一个字典>>> phonebook_dict{
'Snowy': '67845', 'Alice': '23456', 'Tom': '67890'}>>> items = [('Alice', '23456'), ('Tom','67890'), ('Snowy', '67845')] ##列表转化为字典>>> items_dict = dict(items)>>> items_dict{
'Snowy': '67845', 'Alice': '23456', 'Tom': '67890'}>>> len(items_dict)3>>> change_items = {
'Robin': '55667'}>>> items_dict.update(change_items) ##.update()更新字典内容>>> items_dict{
'Snowy': '67845', 'Alice': '23456', 'Robin': '55667', 'Tom': '67890'}>>> items_dict.items() ##字典转化为列表.items()函数[('Snowy', '67845'), ('Alice', '23456'), ('Robin', '55667'), ('Tom', '67890')]

 

4:总结

把序列转化为列表:.list(seq)             [1,2,3,4]   >>>>.append()  .remove()  .pop() .index()    .count()  len()

把序列转化为元组:.tuple(seq)          (1,2,3,4)   >>>>>.index()  .count()    len()

把序列转化为字典: .dict(seq)           {'1' : 'Snowy', '2':'Tom', '3': 'Alice'}    >>>>.update()  .pop()  len()

字典转化为列表:   items(dict)  

 

PS:string相当于字符元组

       array:只能存储同种数据类型的数据,区别于list,相比较list使用的空间更小,通过 from array import array 可以使用array模块

 

zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)

     code:

>>> a = ['1', '2']>>> b = ['a', 'c', 'd']>>> zip(a,b)[('1', 'a'), ('2', 'c')]>>> zip(*zip(a,b))[('1', '2'), ('a', 'c')]>>> a = [[1,2,3],[4,5,6],[7,8,9]]>>> zip(a)[([1, 2, 3],), ([4, 5, 6],), ([7, 8, 9],)]>>> print [row[0] for row in a][1, 4, 7]>>> zip(*a)[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

(*)操作符与zip函数配合可以实现与zip相反的功能,即将合并的序列拆成多个tuple。

         

 

 

转载于:https://www.cnblogs.com/graceting/p/3632585.html

你可能感兴趣的文章
Android模拟器无法上网访问网络失败解决办法
查看>>
node启动时, listen EADDRINUSE 报错;
查看>>
vue学习链接
查看>>
Systemd 初始化进程
查看>>
【C#学习笔记】文本复制到粘贴板
查看>>
Windows store 验证你的 URL http:// 和 https:// ms-appx:/// ms-appdata:///local
查看>>
python全栈开发_day7_字符编码,以及文件的基本读取
查看>>
js 验证码 倒计时60秒
查看>>
C#基础
查看>>
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理
查看>>
杭电3466————DP之01背包(对状态转移方程的更新理解)
查看>>
算法分析常用记号
查看>>
3.1.3自适应阈值化
查看>>
NABCD
查看>>
ZOJ 2850 Beautiful Meadow (简单题)
查看>>
Android开源框架ImageLoader的完美例子
查看>>
LeetCode - Best Time to Buy and Sell Stock
查看>>
java-Coculator
查看>>
499 单词计数 (Map Reduce版本)
查看>>
python笔记
查看>>