代码改变世界

Python数组

2019-01-24 16:52  janease  阅读(50)  评论(0)    收藏  举报

1,列表

Python中如何定义一个列表

>>> type([1,2,3,4,5,6])
<class 'list'>
>>>

A,列表可以数:数字,字符串等

如:

>>> type([1,"sh",True,[1,2],[3,4],False])
<class 'list'>
>>>

B,获取数组元素如:

 

>>> ["gold","mill","false","texi"][0]
'gold'
>>> ["gold","mill","false","texi"][2]
'false'
>>> ["gold","mill","false","texi"][0:2]
['gold', 'mill']
>>> ["gold","mill","false","texi"][-1]
'texi'
>>> ["gold","mill","false","texi"][0:-1]
['gold', 'mill', 'false']
>>> ["gold","mill","false","texi"][:-2]
['gold', 'mill']
>>>

C,更改列表中的值

拼接数组

>>> ["gold","mill","false","texi"]+["ok","30"]
['gold', 'mill', 'false', 'texi', 'ok', '30']
>>>

 

复制列表

>>> ["2k","shouqiang"]*2
['2k', 'shouqiang', '2k', 'shouqiang']
>>>

>>> type([["ba","ke"],["zhong","mo"],["yi","mei"],["ying","de"]])
<class 'list'>
>>>

2,元组

>>> type((1,2,"str",True))
<class 'tuple'>
>>>

获取元组和里诶包是一样的

>>> (1,2,"str",True)[-1]
True
>>> (1,2,"str",True)[:-1]
(1, 2, 'str')
>>> (1,2,"str",True)[0:]
(1, 2, 'str', True)
>>> (1,2,"str",True)[0:-1]
(1, 2, 'str')
>>>

>>> (1,2,"str",True)+(1,5)
(1, 2, 'str', True, 1, 5)
>>> (1,2,"str",True)*2
(1, 2, 'str', True, 1, 2, 'str', True)
>>>

当元组只有一个元素的时候,元组类型Wie内容的类型

 

>>> type((1))
<class 'int'>
>>> type((""))
<class 'str'>
>>>

 

 

3,序列总结

 

str , list, tuple都属于序列

只有一个元素的元组

>>> type((1,))
<class 'tuple'>
>>>

一个元素都没有的元组

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

>>> type([1])
<class 'list'>
>>>

(1)判断数字是否在序列中

>>> 3 in [1,2,3,4]
True
>>> 3 in [1]
False
>>>

(2)判断数字不在序列中

>>> 3 not in [1,2,3]
False
>>> 3 not in [1]
True
>>>

(3)查看列表中有多少个元素

>>> len("hello word! hahah ")
18
>>>

(4)查看序列中最大数

>>> max([1,2,5])
5
>>> max("hello word")
'w'
>>>

(5)查看序列最小值

>>> min((1,2,3,6))
1

 

(6)ascal 码转化

>>> ord("k")
107
>>>

 

 

4,set集合

集合是无序

>>> type({1,2,3})
<class 'set'>

 

>>>集合是无序的如:

 

 

>>> {1,2,3}[0]
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
{1,2,3}[0]
TypeError: 'set' object does not support indexing

 

 

>>>集合不重复

>>> {1,2,3,4,4,2,3}
{1, 2, 3, 4}

 

 

>>>集合元素计算

>>> len({1,2,3,4,4,2,3})
4
>>> 4 in ({1,2,3,4,4,2,3})
True

 

>>>如何将第一个集合的元素中存在第二个集合中存在的元素去除(差值-)

>>> {1,2,3,4}{3,4}

>>> {1,2,3,4}-{3,4}
{1, 2}

 

 

>>>找出两个集合共有的元素(交集&)

>>> {1,2,3,4}&{3,4}
{3, 4}

 

>>>两个集合合并为一个集合,并且去除相同的数字(并集 |)

>>> {1,2,3,4,5,6}|{6,8,5,7}
{1, 2, 3, 4, 5, 6, 7, 8}

 

>>>定义一个空的集合

>>> type(set())
<class 'set'>
>>> len(set())
0
>>>

 

 

5,dict字典

>>> type({})
<class 'dict'>

 

>>>字典通常会有一个key value(字典是一个集合类型)

字典不是序列

>>> {key1:value1,key2:value2......}

>>> type({"hhh":2})
<class 'dict'>

 

>>>字典如下

>>> {"a":"jineng1","b":"jineng2","c":"jineng3","d":"jineng4"}
{'a': 'jineng1', 'b': 'jineng2', 'c': 'jineng3', 'd': 'jineng4'}

 

>>>字典获取的时候是通过key获取到value

>>> {"a":"jineng1","b":"jineng2","c":"jineng3","d":"jineng4"}['c']
'jineng3'

 

>>>数字和strPython识别的时候识别为两个

>>> {1:"jineng1","1":"jineng2","c":"jineng3","d":"jineng4"}
{1: 'jineng1', '1': 'jineng2', 'c': 'jineng3', 'd': 'jineng4'}

 

 

>>>字典的key必须是不可变的类型,value可以是任何元组

>>> {1:{1:"jineng1","1":"jineng2","c":"jineng3","d":"jineng4"},"1":"jineng2","c":"jineng3","d":"jineng4"}
{1: {1: 'jineng1', '1': 'jineng2', 'c': 'jineng3', 'd': 'jineng4'}, '1': 'jineng2', 'c': 'jineng3', 'd': 'jineng4'}

 

>>>key只有元组才可以,其他不允许

>>> {[1,2]:"jineng1","1":"jineng2","c":"jineng3","d":"jineng4"}
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
{[1,2]:"jineng1","1":"jineng2","c":"jineng3","d":"jineng4"}
TypeError: unhashable type: 'list'
>>> {(1,2):"jineng1","1":"jineng2","c":"jineng3","d":"jineng4"}
{(1, 2): 'jineng1', '1': 'jineng2', 'c': 'jineng3', 'd': 'jineng4'}
>>> {{1,2}:"jineng1","1":"jineng2","c":"jineng3","d":"jineng4"}
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
{{1,2}:"jineng1","1":"jineng2","c":"jineng3","d":"jineng4"}
TypeError: unhashable type: 'set'
>>>