-
python中tuple的用法_python中元组的用法整理
2020-11-30 07:20:58一个数据在元组中的位置,外部有一个默认的函数sorted可以针对元组进行排序,排序注意:使用系统默认排序,但是必须保证排序的数据他们的数据类型是一致的!与元组查询相关函数,可以直接操作,如:len()查看元组中...元组:tuple 内部只有两个可以操作的函数[count()/index()],一个是查看一个数据在元组中出现的总数另一个是查看。
一个数据在元组中的位置,外部有一个默认的函数sorted可以针对元组进行排序,排序注意:使用系统默认排序,但是必须保证排序的数据他们的数据类型是一致的!与元组查询相关函数,可以直接操作,如:len()查看元组中元素的个数。
声明元组方式
Name = tuple()
name = (“1”,”2”,”3”)
name = (“1”,)
name(1,)
Count()
查看某个数据出现的次数
Index()
查看数据的位置
知识点扩展:
元组与列表的区别
(1)列表可变,元组不可变,除非整体替换。
(2)列表可以用append()、extend()、insert()、remove()、pop()实现添加和删除功能,而元组没有这几个方法。
(3)列表支持通过切边进行修改和访问,而元组只支持访问,不支持修改,再不进行任何修改时,建议使用元组。
(4)元组比列表的访问和处理速度快。
(5)列表不能作为字典的键,而元组可以。
以上就是python中元组的用法整理的详细内容,更多关于python的元组怎么用的资料请关注脚本之家其它相关文章!
-
Python 中 tuple 的基本用法(在会 Python 中 list 的前提下)
2019-03-07 18:58:35Python 中 tuple 的基本用法(在会 Python 中 list 的前提下)1. list 和 tuple 的区别2. 例子 1. list 和 tuple 的区别 list: 有序的,可以增删改查。表示:[] tuple: 有序的,可以查,不可增删改。表示:(,) ... -
python中list和tuple的用法及区别_Python中list,tuple,dict,set的区别和用法
2020-12-06 14:19:58Python中list,tuple,dict,set的区别和用法Python语言简洁明了,可以用较少的代码实现同样的功能...List字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:L = [12, 'China', 19...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的话显然要通过序号来访问,就像是数组的下标一样,一样是下标从0开始:
>>> print L[0]
12
千万不要越界,否则会报错
>>> print L[3]
Traceback (most recent call last):
File "", line 1, in
IndexError: list index out of range
List也可以倒序访问,通过“倒数第x个”这样的下标来表示序号,比如-1这个下标就表示倒数第一个元素:
>>> L = [12, 'China', 19.998]
>>> print L[-1]
19.998
-4的话显然就越界了
>>> print L[-4]
Traceback (most recent call last):
File "", line 1, in
print L[-4]
IndexError: list index out of range
>>>
List通过内置的append()方法来添加到尾部,通过insert()方法添加到指定位置(下标从0开始):
>>> L = [12, 'China', 19.998]
>>> L.append('Jack')
>>> print L
[12, 'China', 19.998, 'Jack']
>>> L.insert(1, 3.14)
>>> print L
[12, 3.14, 'China', 19.998, 'Jack']
>>>
通过pop()删除最后尾部元素,也可以指定一参数删除指定位置:
>>> L.pop()
'Jack'
>>> print L
[12, 3.14, 'China', 19.998]
>>> L.pop(0)
12
>>> print L
[3.14, 'China', 19.998]
也可以通过下标进行复制替换
>>> L[1] = 'America'
>>> print L
[3.14, 'America', 19.998]
Tuple
Tuple可以看做是一种“不变”的List,访问也是通过下标,用小括号()表示:
>>> t = (3.14, 'China', 'Jason')
>>> print t
(3.14, 'China', 'Jason')
但是不能重新赋值替换:
>>> t[1] = 'America'
Traceback (most recent call last):
File "", line 1, in
t[1] = 'America'
TypeError: 'tuple' object does not support item assignment
也没有pop和insert、append方法。
可以创建空元素的tuple:
t = ()
或者单元素tuple (比如加一个逗号防止和声明一个整形歧义):
t = (3.14,)
那么tuple这个类型到底有什么用处呢?要知道如果你希望一个函数返回多个返回值,其实只要返回一个tuple就可以了,因为tuple里面的含有多个值,而且是不可变的(就像是java里面的final)。当然,tuple也是可变的,比如:
>>> t = (3.14, 'China', 'Jason', ['A', 'B'])
>>> print t
(3.14, 'China', 'Jason', ['A', 'B'])
>>> L = t[3]
>>> L[0] = 122
>>> L[1] = 233
>>> print t
(3.14, 'China', 'Jason', [122, 233])
这是因为Tuple所谓的不可变指的是指向的位置不可变,因为本例子中第四个元素并不是基本类型,而是一个List类型,所以t指向的该List的位置是不变的,但是List本身的内容是可以变化的,因为List本身在内存中的分配并不是连续的。
Dict
Dict是Python中非常重要的数据类型,就像它的字面意思一样,它是个活字典,其实就是Key-Value键值对,类似于HashMap,可以用花括号{}通过类似于定义一个C语言的结构体那样去定义它:
>>> d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59,
'Paul': 75
}
>>> print d
{'Lisa': 85, 'Paul': 75, 'Adam': 95, 'Bart': 59}
可以看到打印出来的结果都是Key:Value的格式,可以通过len函数计算它的长度(List,tuple也可以):
>>> len(d)
4
可以直接通过键值对方式添加dict中的元素:
>>> print d
{'Lisa': 85, 'Paul': 75, 'Adam': 95, 'Bart': 59}
>>> d['Jone'] = 99
>>> print d
{'Lisa': 85, 'Paul': 75, 'Adam': 95, 'Jone': 99, 'Bart': 59}
List和Tuple用下标来访问内容,而Dict用Key来访问: (字符串、整型、浮点型和元组tuple都可以作为dict的key)
>>> print d['Adam']
95
如果Key不存在,会报错:
>>> print d['Jack']
Traceback (most recent call last):
File "", line 1, in
print d['Jack']
KeyError: 'Jack'
所以访问之前最好先查询下key是否存在:
>>> if 'Adam' in d : print 'exist key'
exist key
或者直接用保险的get方法:
>>> print d.get('Adam')
95
>>> print d.get('Jason')
None
至于遍历一个dict,实际上是在遍历它的所有的Key的集合,然后用这个Key来获得对应的Value:
>>> for key in d : print key, ':', d.get(key)
Lisa : 85
Paul : 75
Adam : 95
Bart : 59
Dict具有一些特点:
查找速度快。无论是10个还是10万个,速度都是一样的,但是代价是耗费的内存大。List相反,占用内存小,但是查找速度慢。这就好比是数组和链表的区别,数组并不知道要开辟多少空间,所以往往开始就会开辟一个大空间,但是直接通过下标查找速度快;而链表占用的空间小,但是查找的时候必须顺序的遍历导致速度很慢
没有顺序。Dict是无顺序的,而List是有序的集合,所以不能用Dict来存储有序集合
Key不可变,Value可变。一旦一个键值对加入dict后,它对应的key就不能再变了,但是Value是可以变化的。所以List不可以当做Dict的Key,但是可以作为Value:
>>> print d
{'Lisa': 85, 'Paul': 75, 'Adam': 95, 'Jone': 99, 'Bart': 59}
>>> d['NewList'] = [12, 23, 'Jack']
>>> print d
{'Bart': 59, 'NewList': [12, 23, 'Jack'], 'Adam': 95, 'Jone': 99, 'Lisa': 85, 'Paul': 75}
Key不可重复。(下面例子中添加了一个'Jone':0,但是实际上原来已经有'Jone'这个Key了,所以仅仅是改了原来的value)
>>> print d
{'Bart': 59, 'NewList': [12, 23, 'Jack'], 'Adam': 95, 'Jone': 99, 'Lisa': 85, 'Paul': 75}
>>> d['Jone'] = 0
>>> print d
{'Bart': 59, 'NewList': [12, 23, 'Jack'], 'Adam': 95, 'Jone': 0, 'Lisa': 85, 'Paul': 75}
Dict的合并,如何将两个Dict合并为一个,可以用dict函数:
>>> d1 = {'mike':12, 'jack':19}
>>> d2 = {'jone':22, 'ivy':17}
>>> dMerge = dict(d1.items() + d2.items())
>>> print dMerge
{'mike': 12, 'jack': 19, 'jone': 22, 'ivy': 17}
或者
>>> dMerge2 = dict(d1, **d2)
>>> print dMerge2
{'mike': 12, 'jack': 19, 'jone': 22, 'ivy': 17}
方法2比方法1速度快很多,方法2等同于:
>>> dMerge3 = dict(d1)
>>> dMerge3.update(d2)
>>> print dMerge
{'mike': 12, 'jack': 19, 'jone': 22, 'ivy': 17}
set
set就像是把Dict中的key抽出来了一样,类似于一个List,但是内容又不能重复,通过调用set()方法创建:
>>> s = set(['A', 'B', 'C'])
就像dict是无序的一样,set也是无序的,也不能包含重复的元素。
对于访问一个set的意义就仅仅在于查看某个元素是否在这个集合里面:
>>> print 'A' in s
True
>>> print 'D' in s
False
大小写是敏感的。
也通过for来遍历:
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
#tuple
for x in s:
print x[0],':',x[1]
>>>
Lisa : 85
Adam : 95
Bart : 59
通过add和remove来添加、删除元素(保持不重复),添加元素时,用set的add()方法:
>>> s = set([1, 2, 3])
>>> s.add(4)
>>> print s
set([1, 2, 3, 4])
如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了:
>>> s = set([1, 2, 3])
>>> s.add(3)
>>> print s
set([1, 2, 3])
删除set中的元素时,用set的remove()方法:
>>> s = set([1, 2, 3, 4])
>>> s.remove(4)
>>> print s
set([1, 2, 3])
如果删除的元素不存在set中,remove()会报错:
>>> s = set([1, 2, 3])
>>> s.remove(4)
Traceback (most recent call last):
File "", line 1, in
KeyError: 4
所以如果我们要判断一个元素是否在一些不同的条件内符合,用set是最好的选择,下面例子:
months = set(['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec',])
x1 = 'Feb'
x2 = 'Sun'
if x1 in months:
print 'x1: ok'
else:
print 'x1: error'
if x2 in months:
print 'x2: ok'
else:
print 'x2: error'
>>>
x1: ok
x2: error
-
Python中Tuple和List的区别与用法
2020-12-25 17:38:03Python中Tuple和List的区别与用法 1.语法上的差别 someTuple = (1,2) someList = [1,2] 2. 数据size上的差别 a = tuple(range(1000)) b = list(range(1000)) a.__sizeof__() # 8024 b.__sizeof__() # 9088 由于...Python中Tuple和List的区别与用法
1.语法上的差别
someTuple = (1,2) someList = [1,2]
2. 数据size上的差别
a = tuple(range(1000)) b = list(range(1000)) a.__sizeof__() # 8024 b.__sizeof__() # 9088
由于tuples的操作拥有更小的size,也就意味着tuples在操作时相比list更快,当数据足够大的时候tuples的数据操作性能更优。
3. 可执行的操作
b = [1,2] b[0] = 3 # [3, 2] a = (1,2) a[0] = 3 # Error
tuples具有immutable的属性,意味着tuples内的元素一旦建立就无法更改、删除、排序,然而我们还是可以向list和tuples添加数据的。
a = (1,2) b = [1,2] id(a) # 140230916716520 id(b) # 748527696 a += (3,) # (1, 2, 3) b += [3] # [1, 2, 3] id(a) # 140230916878160 id(b) # 748527696
4. 用法
由上述可知,tuples是immutable,list是mutable的,所以我们可以将tuples用作dictionary的key,但是list不可以a = (1,2) b = [1,2] c = {a: 1} # OK c = {b: 1} # Error
因为tuples不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
5. tuple和list存储的数据特性
(基于此篇文章)
除了上述区别和用法以外,tuples和list还有一个区别是tuples通常是存储异质元素(heterogeneous)的数据结构,而list通常存储同质元素(homogeneous)的数据结构。详细解释就是:
Tuples 通常存储的是一连串的不同种类的事务,但是我们将他们当做一个耦合的整体来处理(比如我们可以把键盘、鼠标、显示器、主机存储在一个tuples里,这些元素都是不同种类的元素,但是放在一起处理时可当作一个计算机硬件系统元素来看待,而一旦定义了这个系统,就不能随意更改已有的元素)
List 通常存储的是一连串的相同种类的事务,所以我们可以把list中的每个元素都当做一个独立的个体来处理(也就是mutable的思想,例如list中存储了一些随机整数,他们拥有相同的属性(都是整数),但各自独立(没有任何相关性),我们可以单独的更改list中任何元素而不影响整体的数据结构)最后感谢阅读!!!
-
zip在python中的用法_Python中zip()函数用法实例教程
2020-12-17 13:50:00本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值。详情如下:一、定义:zip([iterable, ...])zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的... -
python中list和tuple的用法及区别_详解!python中tuple和list的区别
2020-12-06 14:19:55list1、list是一种有序的集合,可以随时添加和删除其中的元素2、访问list中的元素,索引从0开始,0为第一个元素,当索引超出范围会报错,索引不能越界,最后一个元素 的索引是len(num)-13、如果要取最后一个元素,... -
python中list和tuple的用法及区别_Python中内置数据类型list,tuple,dict,set的区别和用法...
2020-12-06 14:20:01Python语言简洁明了,可以用较少的代码实现同样...(原链接:http://www.jb51.net/article/76339.htm)List字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:可以看到并不要求元... -
python 中list tuple dict set 的区别和用法
2018-03-25 09:18:54字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L=[12,'china',19.998] 可以看到并不要求元素的类型都是一样的。当然也可以定义一个空的List: L = [] 2.访问: ... -
set在python中的用法_Python中集合(set)的操作及一些比较常见的用法
2021-01-13 18:51:18Python除了List、Tuple、Dict等常用数据类型外,还有一种数据类型叫做集合(set),集合的最大特点是:集合里边的元素是不可重复的并且集合内的元素还是无序的,所以一般情况下集合常用的两个场景是:1.去重(如:列表... -
Python中list,tuple,dict,set的区别和用法
2018-08-30 09:12:33Python语言简洁明了,可以用较少的代码实现同样的功能。...字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是... -
python中list、tuple、dict、set的相同点_Python中list,tuple,dict,set的区别和用法
2021-01-15 02:57:48Python语言简洁明了,能够用较少的代码实现一样的...javaListpython字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,能够这样定义一个List:shellL=[12,'China',19.998]能够看到并不要求元素的类型都... -
python中的list和tuple的用法和区别?
2018-12-10 12:34:592、访问list中的元素,索引从0开始,0为第一个元素,当索引超出范围会报错,索引不能越界,最后一个元素 的索引是len(num)-1 3、如果要取最后一个元素,除了计算索引位置,还可以用-1做索引直接取到最后一个元素 ... -
python list tuple dict set区别_Python中内置数据类型list,tuple,dict,set的区别和用法
2020-12-11 08:24:47Python语言简洁明了,可以用较少...List字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:L = [12, 'China', 19.998]可以看到并不要求元素的类型都是一样的。当然也可以定义一... -
Python中内置数据类型list,tuple,dict,set的区别和用法
2021-01-20 04:34:24字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的。当然也可以定义一个空的List: L = [] Python中的... -
python中集合数据类型_Python中内置数据类型list,tuple,dict,set的区别和用法
2020-11-30 07:20:37Python语言简洁明了,可以用较少...List字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:L = [12, 'China', 19.998]可以看到并不要求元素的类型都是一样的。当然也可以定义一... -
python中的list()和直接s有什么差别_Python中list,tuple,dict,set的区别和用法
2020-12-03 14:14:08Python语言简洁明了,可以用较少...List字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:L = [12, 'China', 19.998]可以看到并不要求元素的类型都是一样的。当然也可以定义一... -
python中的元组类型_Python基础数据类型——tuple浅析
2021-01-29 06:15:20原标题:Python基础数据类型——tuple浅析Python中tuple的使用一、什么是元组?有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。二、用法1. tuple元组的定义Python的元组与列表类似,...