Python list 列表和tuple元组

1 list是一种Python的数据类型--列表

list是一种有序的集合,可以进行增删改查

>>>name=[aa,bb,cc]
>>>name
['aa','bb','cc']

查看name的元素个数

len(name)

通过索引查找list中的元素

>>>name[0]
aa
>>>name[1]
bb

>>>name[-1]  #这是最后一个元素

超过元素的个数会越界,不管是正向还是反向都不能越界

len(name)-1

list是一个有序的表,在list末尾追加:

>>>name.append('dd')
>>>name
['aa','bb','cc','dd']

在指定索引位置添加(插入)元素insert()

>>>name.insert(1,'hh')
>>>name
['hh','aa','bb','cc','dd']

删除末尾元素pop()

name.pop()  # 默认是删除最后的

删除指定位置:

name.pop(1)  # 删除1处
name.pop(-1) #删除最后的

或者

del name[1]  # 删除1处

删除元素名:

name.remove(‘aa’)  # 直接删除对应的元素名

替换某个元素,直接赋值给对应的索引位置:

name[1] = 'hello'

或者

name[name.index('aa')] = 'haha'  # 第一步是name.index('aa') 获取aa的索引值,确定索引值后直接修改,同上

统计list中某个元素的数量:

>>>name.count('aa')

list中的数据类型可以不同:

>>> all = ['hello',123,True] # 这里面由字符串,数字,布尔
>>> all
['hello', 123, True]

list中可以有另外一个list:

>>> L = ['aa','bb','cc',['dd','ee']]
>>> L
['aa', 'bb', 'cc', ['dd', 'ee']]
>>> len(L)
4

数组中还有数组,想要获得‘hh’,name[2][1]是一个二维数组

>>> name = ['aa','bb',['ff','hh'],'cc']
>>> p=['ff','hh']
>>> name[2][1]
'hh'

空的list长度是0

2 tuple元组

tuple初始化后不能修改

>>>name=('a','b','c')
name[1]
'b'

tuple没有append、insert、不能赋值
可以正常索引,注意,这里还是用[]进行索引

不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

定义空的tuple

>>> L=()
>>> len(L)
0
>>> L
()

定义一个tuple

>>> t=(1)
>>> t
1

>>> print(type(t))
<class 'int'>

这样并不是一个tuple,()可以表示数学公式中的小括号,这样计算的是数字1,为了避免歧义,在括号中用逗号

>>> t=(1,)
>>> t
(1,)

>>> print(type(t))
<class 'tuple'>

Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号

** ” 可变的 tuple “**

>>> t=('a','b',['c','d'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

这里定义的tuple有两个字符串,和一个list,所谓的tuple不变指的是tuple每个元素的指向是不变的,但是list本身是可以改变的

练习:

L = [
    ['Apple', 'Google', 'Microsoft'],
    ['Java', 'Python', 'Ruby', 'PHP'],
    ['Adam', 'Bart', 'Lisa']
]

>>>print(L[0][0])
’Apple'
>>>print(L[1][0])
’Java'

二维数组中取相应的数

posted @ 2017-03-29 00:09  hzxPeter  阅读(243)  评论(0编辑  收藏  举报