python列表元祖字典集合运算_Python基础5:列表元祖字典集合Json

更新时间:2023-07-11 04:02:25 阅读: 评论:0

python列表元祖字典集合运算_Python基础5:列表元祖字典集
合Json
[ 列表]
列表(list)是Python以及其他语⾔中最常⽤到的数据结构之⼀。Python使⽤使⽤中括号 [ ] 来解析列表。
列表是可变的(mutable)——即:可以改变列表的内容。
相关操作:
1 查([])
names_class2=['张三','李四','王五','赵
六']#print(names_class2[2])#print(names_class2[0:3])#print(names_class2[0:7])#print(names_class2[-
1])#print(names_class2[2:3])#print(names_class2[0:3:1])#print(names_class2[3:0:-1])#print(names_class2[:])
2 增(append,inrt)
可爱的句子
inrt ⽅法⽤于将对象插⼊到列表中,⽽append⽅法则⽤于在列表末尾追加新的对象
names_class2.append('jesson')
names_class2.inrt(2,'pitter')print(names_class2)
3 改(重新赋值)
names_class2=['张三','李四','王五','赵六']
names_class2[3]='赵七'names_class2[0:2]=['jesson','pitter']print(names_class2)
4 删(remove,del,pop)
ve('jesson')delnames_class2[0]delnames_class2
names_class2.pop()#注意,pop有返回值
5 其他操作
5.1  count
count ⽅法统计某个元素在列表中出现的次数:
>>> ['to', 'be', 'or', 'not', 'to', 'be'].count('to')2
>>> x = [[1,2], 1, 1, [2, 1, [1, 2]]]>>> x.count(1)2
>>> x.count([1,2])1
5.2 extend
extend ⽅法可以在列表的末尾⼀次性追加另⼀个序列中的多个值。
>>> a = [1, 2, 3]>>> b = [4, 5, 6]>>&d(b)>>>a
[1, 2, 3, 4, 5, 6]
extend ⽅法修改了被扩展的列表,⽽原始的连接操作(+)则不然,它会返回⼀个全新的列表。
>>> a = [1, 2, 3]>>> b = [4, 5, 6]>>&d(b)>>>a
牛肉炖番茄怎么做[1, 2, 3, 4, 5, 6]>>>
>>> a +b
[1, 2, 3, 4, 5, 6, 4, 5, 6]>>>a
[1, 2, 3, 4, 5, 6]
5.3  index
index ⽅法⽤于从列表中找出某个值第⼀个匹配项的索引位置:
names_class2.index('李四')
5.4  rever
rever ⽅法将列表中的元素反向存放。
ver()print(names_class2)
5.5  sort
sort ⽅法⽤于在原位置对列表进⾏排序。
x = [4, 6, 2, 1, 7, 9]
x.sort()#x.sort(rever=True)
注意:
列表中有个地⽅需要注意下,即Python在操作列表的时候,None数据类型 和 空‘ ’保存在列表中的时候,都是有效元素。Python 3.5.2 (v3.5.2:4def2a2901a5,2016, 22:18:55) [MSC v.1900 64bit (AMD64)] on win32
Type"help", "copyright", "credits" or "licen" formore information.>>> L =[]>>> L.append('')>>>L
['']>>> len(L) #列表元素个数
1
>>>L.append(None)>>>L
['', None]>>>len(L)2
5.6  列表的切⽚操作
Python2中可以直接⽤L=range(0,100)构造⼀个列表:[0,1,2,3,4,........,98,99]
python3中的构造⽅法有点区别:L = list(range(0,100))
可以通过切⽚轻松取出某⼀段数列。⽐如前10个数:
>>> L[:10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
后10个数:
>>> L[-10:]
[90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
前11-20个数:
>>> L[10:20]
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
述职述责述廉报告
前10个数,每两个取⼀个:
>>> L[:10:2]
[0, 2, 4, 6, 8]
所有数,每5个取⼀个:
>>> L[::5]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]
甚⾄什么都不写,只写[:]就可以原样复制⼀个list:
唐学石>>>L[:]
[0, 1, 2, 3, ..., 99]
tuple也是⼀种list,唯⼀区别是tuple不可变。因此,tuple也可以⽤切⽚操作,只是操作的结果仍是tuple:
>>> (0, 1, 2, 3, 4, 5)[:3]
(0, 1, 2)
字符串'xxx'也可以看成是⼀种list,每个元素就是⼀个字符。因此,字符串也可以⽤切⽚操作,只是操作结果仍是字符串:
>>> 'ABCDEFG'[:3]'ABC'
>>> 'ABCDEFG'[::2]'ACEG'
[ tuple (元组)]
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,列表的切⽚操作同样适⽤于元组。
元组类似与列表,⽤逗号(,)来分隔存储的数据,与列表不同的是元组是不可变类型(immutable),列表可以任你插⼊或改变,⽽元组不⾏。所以,元组适⽤于你的数据是固定且不需改变的情形。从内存的⾓度来看,使⽤元组有⼀⼤好处是,Python可以明确地知道需要分配多少内存给元组(同样 Frozents 也有这个好处)。
元组写在⼩括号(())⾥,元素之间⽤逗号隔开。
虽然tuple的元素不可改变,但它可以包含可变的对象,⽐如list列表。
构造包含 0 个或 1 个元素的元组⽐较特殊,所以有⼀些额外的语法规则:
tup1 = () #空元组
tup2 = (20,) #元组中只有⼀个元素的时候,需要在元素后添加逗号,以消除歧义,避免解释器误解成数学计算意义上的括号。
# 这是因为括号()既可以表⽰tuple,⼜可以表⽰数学公式中的⼩括号,⼀个元素不加逗号,就产⽣了歧义。
Python规定,不加逗号情况下,按⼩括号进⾏计算,这⾥计算结果是20;
所以,只有1个元素的元组定义时,元素后边必须加⼀个逗号,,来消除歧义。
作⽤:
1对于⼀些数据我们不想被修改,可以使⽤元组;2 另外,元组的意义还在于,元组可以在映射(和集合的成员)中当作键使⽤——⽽列表则不⾏;元组作为很多内建函数和⽅法的返回值存在。
元组相关操作:
1 创建元组
tup1 = ('jesson', 'pitter', 1997, 2000);描写外貌的好词
tup2= (1, 2, 3, 4, 5);
tup3= "a", "b", "c", "d";print(tup1,type(tup1))print(tup2,type(tup2))print(tup3,type(tup3))#输出结果#('jesson', 'pitter', 1997, 2000) #(1, 2, 3, 4, 5) #('a', 'b', 'c', 'd')
元组与字符串类似,下标索引从0开始,可以进⾏截取,组合等。
2 访问元组
tup1 = ('jesson', 'pitter', 1997, 2000);
tup2= (1, 2, 3, 4, 5, 6, 7);print ("tup1[0]是:", tup1[0]) #访问元组tup1的第⼀个元素
print ("tup2[1:5]是:", tup2[1:5]) #对元组tup2中的元素 从索引下标1开始到4 进⾏切⽚操作
#输出结果:#tup1[0]是: jesson#tup2[1:5]是: (2, 3, 4, 5)
寓言小故事大道理3 修改元组
元组中的元素值是不允许修改的,但我们可以对元组进⾏连接组合,如下实例:
tup1 = (12, 34.56);
tup2= ('abc', 'xyz');#tup1[0] = 100; # 这种修改元组元素操作是⾮法的,编译的时候会报错。
tup3 = tup1 + tup2; #可以 创建⼀个新的元组
print(tup3)#输出结果:#(12, 34.56, 'abc', 'xyz')
4 删除元组
元组中的元素值是不允许删除的,但我们可以使⽤del语句来删除整个元组。
tup = ('jesson', 'pitter',"你好",1997, 2000);print(tup)del(tup)print("执⾏del删除操作后的元组 tup:")print(tup)#以上实例元组被删除后,输出变量会有异常信息,输出如下所⽰:#Traceback (most recent call last):#File "J:/元组 tuple.py", line 51, in
#print(tup)#NameError: name 'tup' is not defined
四年级画
5 元组运算符
与字符串⼀样,元组之间可以使⽤ + 号和 * 号进⾏运算。这就意味着他们可以组合和复制,运算后会⽣成⼀个新的元组。
6 元组内置函数
Python元组包含了以下内置函数1、cmp(tuple1, tuple2):⽐较两个元组元素。2、len(tuple):计算元组元素个数。3、max(tuple):返回元组中元素最⼤值。4、min(tuple):返回元组中元素最⼩值。5、tuple(q):将列表转换为元组。
7 元组总结
tuple和list⾮常类似,但是tuple⼀旦初始化就不能修改;这样也就有了⼀个要求,就是:当你定义⼀个tuple时,在定义的时候,tuple的元素就必须被确定下来。
既然元组是不能修改的,那么它的这种不可变性有什么意义?
因为tuple不可变,所以代码更安全;如果可能,能⽤tuple(元组)代替list(列表)就尽量⽤tuple。
[ Dictionary (字典)]
字典是python中唯⼀的映射类型,采⽤键值对(key-value)的形式存储数据。python对key进⾏哈希函数运算,根据计算的结果决定value 的存储地址,所以字典是⽆序存储的,且key必须是可哈希的。可哈希表⽰key必须是不可变类型,如:数字、字符串、元组。
字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是⽆序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,⽽不是通过偏移存取。
创建字典:
dic1={'name':'jesson','age':26,'x':'male'}
dic2=dict((('name','jesson'),))print(dic1)print(dic2)
相关操作:
1 增
dic3={}
dic3['name']='jesson'dic3['age']=26
print(dic3)#{'name': 'jesson', 'age': 26}
a=dic3.tdefault('name','pitter')
b=dic3.tdefault('ages',25)print(a,b)print(dic3)
2 查
dic3={'name': 'jesson', 'age': 26}#print(dic3['name'])#print(dic3['names'])#
#('age',Fal))#('ages',Fal))
print(dic3.items())print(dic3.keys())print(dic3.values())print('name' in dic3)#py2: dic3.has_key('name') print(list(dic3.values()))
3 改
dic3={'name': 'jesson', 'age': 26}
dic3['name']='pitter'dic4={'x':'male','hobby':'sports','age':26}
dic3.update(dic4)print(dic3)
4 删
dic4={'name': 'jesson', 'age': 26,'class':1}#dic4.clear()#print(dic4)
del dic4['name']print(dic4)
a=dic4.popitem()print(a,dic4)#print(dic4.pop('age'))#print(dic4)
#del dic4#print(dic4)
5 字典其他操作以及涉及到的⽅法
5.1 dict.fromkeys
d1=dict.fromkeys(['host1','host2','host3'],'Mac')print(d1)
d1['host1']='jesson'
print(d1)>##
d2=dict.fromkeys(['host1','host2','host3'],['Mac','huawei'])print(d2)
d2['host1'][0]='jesson'
print(d2)
5.2  d.copy() 对字典 d 进⾏浅复制,返回⼀个和d有相同键值对的新字典
5.3 sorted(dict) : 返回⼀个有序的包含字典所有key的列表
dic={5:'555',2:'222',4:'444'}print(sorted(dic))
5.() 获取字典 d 中的相关值;
d = {'name':'jesson','age':'18'}print(d['name']) #输出结果:jesson 通过字典的键 获取对应值
('name')) #输出结果:jesson 通过get⽅法获取相应键的值

本文发布于:2023-07-11 04:02:25,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1090167.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:元组   列表   元素   操作   字典   修改   逗号
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图