Python基本数据类型( 元祖 列表 )

元祖  tuple

元组被称为只读列表, 元组的元素不能修改.  即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")

 创建元组

#   创建元组
>>> py1=('python', 'www', 1, 20)
>>> type(py1)
<class 'tuple'>
>>> py2=(3, 2, 1, 20)
>>> type(py2)
<class 'tuple'>
>>> py3=1,'a','b','d'   #不用括号也行
>>> type(py3)
<class 'tuple'>
>>> py=()                 #创建空元组
>>> type(py)
<class 'tuple'>
#  元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用
>>> py=(50)
>>> type(py)     #不加逗号,就是整型
<class 'int'>
>>> py=(50,)
>>> type(py)      #加了逗号,就是元组
<class 'tuple'>
>>> py=('abc')     
>>> type(py)       #不加逗号,就是字符串
<class 'str'>
>>> py=('abc',)
>>> type(py)
<class 'tuple'>
>>> py=50,         #还是可以不加括号,但是要有逗号
>>> type(py)
<class 'tuple'>
>>> py=50
>>> type(py)
<class 'int'>

查询元组

>>> py=('python', 'www', 1, 20,True)
>>> py[1]
'www'
>>> print(py[0]) python >>> print(py[3:5]) (20, True)

修改元组

元组中的元素值是不允许修改的,但可以对元组进行连接组合

>>> print(py1)
('python', 'www', 1, 20)
>>> print(py2)
(1, 'a', 'b', 'd')
>>> py3=py1+py2
>>> print(py3)
('python', 'www', 1, 20, 1, 'a', 'b', 'd')

删除元组

元组中的元素值是不允许删除的,但可以使用del 语句来删除整个元组

>>> tup=('python', 'www', 1, 20,True);
>>> print(tup)
('python', 'www', 1, 20, True)
>>> del tup                         #删除元组后, 再输出变量会报异常信息
>>> print(tup)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tup' is not defined

元组运算

其他操作

#   len(tuple)    计算元组元素个数
>>> py=('python', 'www', 1, 20,True)
>>> len(py)
5
>>> len(('python', 20,True))
3

#   max(tuple)    返回元组中元素最大值
>>> py=(1, 20,True)                 #数字,布尔值
>>> max(py)
20
>>> py=('python', 'www')            #字符串
>>> max(py)
'www'
>>> py=('python', 'www', 1, 20,True)
>>> max(py)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'int' and 'str'

#   min(tuple)    返回元组中元素最小值
>>> py=(1, 2.8,True)
>>> min(py)
1

#    tuple(seq)    将列表转换为元组
>>> list=['abc',2,True,('a',2)]
>>> tuple(list)              #不赋值的话是不变的
('abc', 2, True, ('a', 2))
>>> print(list)
['abc', 2, True, ('a', 2)]
>>> tup=tuple(list)
>>> print(tup)
('abc', 2, True, ('a', 2))

列表  list

列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,它是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型. 列表可以存  --> 数字 布尔值  字符串  列表 元祖 字典 比如:

li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]

列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

 增

>>> py=[1,'a','bc',2,3,'a']

>>> py.insert(0,55)              #按照索引增加
>>> print(py)
[55, 1, 'a', 'bc', 2, 3, 'a']
>>> py.insert(2,'new')    
>>> print(py)
[55, 1, 'new', 'a', 'bc', 2, 3, 'a']

>>> py.append('zzz')           #增加到最后
>>> print(py)
[55, 1, 'new', 'a', 'bc', 2, 3, 'a', 'zzz']
>>> py.append([1,'in',3])
>>> print(py)
[55, 1, 'new', 'a', 'bc', 2, 3, 'a', 'zzz', [1, 'in', 3]]

>>> py.extend(['q,a,w'])         #迭代去增加
>>> print(py)
[55, 1, 'new', 'a', 'bc', 2, 3, 'a', 'zzz', [1, 'in', 3], 'q,a,w']
>>> py.extend(['q,a,w','test'])
>>> print(py)
[55, 1, 'new', 'a', 'bc', 2, 3, 'a', 'zzz', [1, 'in', 3], 'q,a,w', 'q,a,w', 'test']
>>> py.extend('abc')
>>> print(py)
[55, 1, 'new', 'a', 'bc', 2, 3, 'a', 'zzz', [1, 'in', 3], 'q,a,w', 'q,a,w', 'test', 'a', 'b', 'c']
>>> py.extend('a,b,c')
>>> print(py)
[55, 1, 'new', 'a', 'bc', 2, 3, 'a', 'zzz', [1, 'in', 3], 'q,a,w', 'q,a,w', 'test', 'a', 'b', 'c', 'a', ',', 'b', ',', 'c']
>>> py.extend([1,2,3])
>>> print(py)
[55, 1, 'new', 'a', 'bc', 2, 3, 'a', 'zzz', [1, 'in', 3], 'q,a,w', 'q,a,w', 'test', 'a', 'b', 'c', 'a', ',', 'b', ',', 'c', 1, 2, 3]
>>> py.extend([8,'kk',3])
>>> print(py)
[55, 1, 'new', 'a', 'bc', 2, 3, 'a', 'zzz', [1, 'in', 3], 'q,a,w', 'q,a,w', 'test', 'a', 'b', 'c', 'a', ',', 'b', ',', 'c', 1, 2, 3, 8, 'kk', 3]

 删

>>> print(py)
[55, 1, 'new', 'a', 'bc', 2, 3, 'a', 'zzz', [1, 'in', 3], 'q,a,w', 'q,a,w', 'test', 'a', 'b', 'c', 'a', ',', 'b', ',', 'c', 1, 2, 3, 8, 'kk', 3]

#  pop
>>> py1=py.pop()            
>>> print(py1)
3
>>> py1=py.pop(1)        #按照位置去删除, 有返回值. 默认删除最后一个
>>> print(py1)
1
>>> print(py)
[55, 'new', 'a', 'bc', 2, 3, 'a', 'zzz', [1, 'in', 3], 'q,a,w', 'q,a,w', 'test', 'a', 'b', 'c', 'a', ',', 'b', ',', 'c', 1, 2, 3, 8, 'kk']
>>> py1=py.pop()
>>> print(py1)
kk
>>> print(py)
[55, 'new', 'a', 'bc', 2, 3, 'a', 'zzz', [1, 'in', 3], 'q,a,w', 'q,a,w', 'test', 'a', 'b', 'c', 'a', ',', 'b', ',', 'c', 1, 2, 3, 8]

#   del
>>> del py[1:9]         #按照位置删除, 也可以切片删除没有返回值
>>> print(py)
[55, 'q,a,w', 'q,a,w', 'test', 'a', 'b', 'c', 'a', ',', 'b', ',', 'c', 1, 2, 3, 8]
>>> del py[1]
>>> print(py)
[55, 'q,a,w', 'test', 'a', 'b', 'c', 'a', ',', 'b', ',', 'c', 1, 2, 3, 8]

#   remove
>>> py.remove(',')       #按照元素删除,没有返回值.移除列表里第一个匹配项
>>> print(py)
[55, 'q,a,w', 'test', 'a', 'b', 'c', 'a', 'b', ',', 'c', 1, 2, 3, 8]
>>> py.remove('a')
>>> print(py)
[55, 'q,a,w', 'test', 'b', 'c', 'a', 'b', ',', 'c', 1, 2, 3, 8]

#  clear
>>> py.clear()       #清空列表
>>> print(py)
[]

 改

>>> py=[1,'a','b',2,3,'a']

>>> py[1]='jjhm'           # 按索引修改
>>> print(py)
[1, 'jjhm', 'b', 2, 3, 'a']
>>> py[1:3]=['yyy','zzz']   #按索引从几到几被修改, 顾首不顾尾
>>> print(py)
[1, 'yyy', 'zzz', 2, 3, 'a']
>>> py[1:4]=['yyy','zzz']
>>> print(py)
[1, 'yyy', 'zzz', 3, 'a']
>>> py[2:5]=['','到几']
>>> print(py)
[1, 'yyy', '', '到几']

 查

切片去查,或者循环去查

>>> py=[1,'ass','b',2,True,'a']
>>> print('cat:',py[2])
cat: b
>>> print('cat:',py[1:4])   #索引1至3的值
cat: ['ass', 'b', 2]

其他操作

#   count  次数  统计某个元素在列表中出现的次数
>>> py = ["q","w","q","r","t","y",1,0,True,False]
>>> print(py.count('q'))
2
>>> print(py.count(1))
2
>>> print(py.count(0))
2

#    index  索引  从列表中找出某个值第一个匹配项的索引位置
>>> py = ["q","w","q","r","t","y",1,0,True,False]
>>> print(py.index('y'))
5

#   sort   用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数  reverse =排序规则,reverse = True 降序,reverse = False 升序(默认)
http://www.runoob.com/python3/python3-att-list-sort.html
>>> py = ["q","w","q","r","t","y"]
>>> py.sort()
>>> print(py)
['q', 'q', 'r', 't', 'w', 'y']
>>> 
>>> py = ['f','g','f','c','a','z']
>>> print(py.sort())             #没有返回值
None 
>>> print(py)
['a', 'c', 'f', 'f', 'g', 'z']
>>> py = ['f','g','f','c','a','z']
>>> py.sort(reverse = True)     #降序  反向
>>> print(py)
['z', 'g', 'f', 'f', 'c', 'a']
>>> py.sort(reverse = False)    #升序  正向   (默认)
>>> print(py)
['a', 'c', 'f', 'f', 'g', 'z']
>>> py = [1,0,True,False]       #不同数据类型有的不能排序, 但布尔值和数字可以
>>> py.sort()
>>> print(py)
[0, False, 1, True]

#    reverse 将列表中的元素反向存放
>>> py = [2,1,3,4,5]
>>> print(py)
[2, 1, 3, 4, 5]
>>> py.reverse()
>>> print(py)
[5, 4, 3, 1, 2]
>>> print(py.reverse())         # 也是没有返回值
None
>>> print(py)
[2, 1, 3, 4, 5]

 

posted @ 2018-10-23 14:00  mingetty  阅读(295)  评论(0)    收藏  举报