列表,元祖,字典的详细概述
Posted 改变就是好事
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表,元祖,字典的详细概述相关的知识,希望对你有一定的参考价值。
list(列表):
list是一种有序的集合,可以随时添加和删除其中的元素
定义一个列表:
classmates = [‘Michael‘,‘Bob‘,‘Tracy‘]
用len()函数可以获得列表元素的个数:
In [3]: len(classmates)
Out[3]: 3
也可以用索引访问每一个位置的元素,记住索引是从0开始的,超出范围之后就会报错:
In [5]: classmates[0]
Out[5]: ‘Michael‘
In [6]: classmates[1]
Out[6]: ‘Bob‘
In [7]: classmates[3]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-7-81a27e3ce05f> in <module>()
----> 1 classmates[3]
IndexError: list index out of range
列表的相关操作:
<1>添加元素("增"append,extend,insert):
为什么是三个呢,当然是有所不同的,ok 我们举例说明
In [8]: names = [100,200,‘300‘,‘ok‘]
In [9]: names.append("400")
In [10]: names
Out[10]: [100, 200, ‘300‘, ‘ok‘, ‘400‘]
看到效果了吧,是的 append就是在列表的最后添加
extend就是两个列表的合并
In [13]: names2 = [500,600]
In [14]: names.extend(names2)
In [15]: names
Out[15]: [100, 200, ‘300‘, ‘ok‘, ‘400‘, 500, 600]
Out[15]: [100, 200, ‘300‘, ‘ok‘, ‘400‘, 500, 600]
insert(index.object) 在指定位置index前插入元素object:
In [16]: names.insert(0,"000")
In [17]: names
Out[17]: [‘000‘, 100, 200, ‘300‘, ‘ok‘, ‘400‘, 500, 600]
<2>修改元素: ("改" 指定索引修改)
In [18]: names[2]=1000
In [19]: names
Out[19]: [‘000‘, 100, 1000, ‘300‘, ‘ok‘, ‘400‘, 500, 600]
<3>查找元素 ("查" in,not in,index,count)
in和not in 一般做判断用
查找元素是否存在
in(存在),如果存在结果为Ture,否则为False
not in(不存在)如果不存在结果为Ture,否则为False
In [22]: 100 in names
Out[22]: True
In [23]: 100 not in names
Out[23]: False
index(查找索引所对应的元素):
In [19]: names
Out[19]: [‘000‘, 100, 1000, ‘300‘, ‘ok‘, ‘400‘, 500, 600]
In [20]: names.index(‘ok‘)
Out[20]: 4
count 查找列表中元素的个数:
In [21]: names.count(‘ok‘)
Out[21]: 1
<4>("删"del,pop,remove)
del : 根据下标位删除,也可以删除所有变量
In [24]: names
Out[24]: [‘000‘, 100, 1000, ‘300‘, ‘ok‘, ‘400‘, 500, 600]
In [25]: del names[2]
In [26]: names
Out[26]: [‘000‘, 100, ‘300‘, ‘ok‘, ‘400‘, 500, 600]
pop: 默认只能删除列表的最后一个 并返回给你
In [27]: names.pop()
Out[27]: 600
In [28]: names
Out[28]: [‘000‘, 100, ‘300‘, ‘ok‘, ‘400‘, 500]
remove : 删除指定的内容
In [31]: names.remove(‘000‘)
In [32]: names
Out[32]: [100, ‘300‘, ‘ok‘, ‘400‘, 500]
<5>排序(sort,reverse)
sort方法将list按照特定顺序重新排列,默认从小到大,接参数reverse=Ture 可从打的大小排序
In [36]: num = [1,5,6,32,23,67]
In [37]: num.sort()
In [38]: num
Out[38]: [1, 5, 6, 23, 32, 67]
注:排序必须保证元素是同等类型,否则会报错.
reverse方法就是将list逆置:
In [42]: num = [1,5,6,32,23,67]
In [43]: num.reverse()
In [44]: num
Out[44]: [67, 23, 32, 6, 5, 1]
Tuple(元祖)
元祖与列表类似,不同之处在于元祖的元素不能修改,元祖使用小括号,列表使用中括号
元祖的各种操作访问和列表基本是一样的,
下面举一个例子:
In [46]: num = [1,5,6,32,23,67]
In [47]: my_tuple = (100,200,num)
In [48]: my_tuple
Out[48]: (100, 200, [1, 5, 6, 32, 23, 67])
In [49]: my_tuple[2][1]= 20
In [50]: my_tuple
Out[50]: (100, 200, [1, 20, 6, 32, 23, 67])
大家可以仔细看看,从表面看呢 元祖是被修改了,其实不然,修改的只是list元素,而不是元祖.
dict(字典):
字典使用键-值(key-value)存储,具有及快的查找速度
In [63]: my_dict = {"name":"laowang","age":25,"sex":"男"}
In [64]: my_dict["name"]
Out[64]: ‘laowang‘
在访问一个字典的时候我们不可以用索引,用的是键,键在字典中是不可重复的
In [67]: my_dict.get("name")
Out[67]: ‘laowang‘
In [68]: my_dict.get("addr")
也可以用这种方法访问,这种访问一个不存在的键时,不会报错,返回的是一个None 而上面的方法是会报错的
字典中的添加:
In [69]: my_dict["addr"]="BJ"
In [70]: my_dict
Out[70]: {‘addr‘: ‘BJ‘, ‘age‘: 25, ‘name‘: ‘laowang‘, ‘sex‘: ‘男‘}
In [71]: my_dict["addr"]="SZ"
In [72]: my_dict
Out[72]: {‘addr‘: ‘SZ‘, ‘age‘: 25, ‘name‘: ‘laowang‘, ‘sex‘: ‘男‘}
可以使用以上方法添加,如果键不存在就是添加,如果已经存在就是修改
删除的话 使用del 就可以
In [75]: del my_dict["addr"]
In [76]: my_dict
Out[76]: {‘age‘: 25, ‘name‘: ‘laowang‘, ‘sex‘: ‘男‘}
字典中的函数:
keys: 返回字典中所有的key的列表
In [76]: my_dict
Out[76]: {‘age‘: 25, ‘name‘: ‘laowang‘, ‘sex‘: ‘男‘}
In [77]: my_dict.keys()
Out[77]: dict_keys([‘name‘, ‘age‘, ‘sex‘])
values: 返回字典中所有的valuse的列表
In [78]: my_dict.values()
Out[78]: dict_values([‘laowang‘, 25, ‘男‘])
items:返回字典中的所有键值对
In [79]: my_dict.items()
Out[79]: dict_items([(‘name‘, ‘laowang‘), (‘age‘, 25), (‘sex‘, ‘男‘)])
字典的遍历
key的遍历:
In [82]: for key in my_dict.keys():
...: print(key)
...:
...:
name
age
sex
value的遍历
In [83]: for value in my_dict.values():
...: print(value)
...:
laowang
25
男
遍历字典的所有项
In [86]: for dic in my_dict.items():
...: print("key=%s,value=%s"%(dic))
...:
...:
key=name,value=laowang
key=age,value=25
key=sex,value=男
今天到这儿呢,已经结束了,我之所以把代码前面的也复制过来,是希望想学习python的小伙伴,可以自己打一边代码 而不是复制.
以上是关于列表,元祖,字典的详细概述的主要内容,如果未能解决你的问题,请参考以下文章