您的位置:首页 > 编程语言 > Python开发

【python】入门学习(六)

2014-09-02 20:41 162 查看
type() #检查变量或值得数据类型

>>> type(5)
<class 'int'>


序列:包括字符串、元组和列表。序列都可以用索引、切片、len()(计算元素个数)、x in s 判断s中是否包含x

元组: 不可变,如果修改需要大量的复制,即彻底重新赋值

空元组: ()

单个元素的元组: (x,) #注意一定要有','

多个元素的元组: (x, y, z) 或 (x, y, z,) #最后的','可有可无

>>> item = (6, 'apple', (1,2))
>>> item
(6, 'apple', (1, 2))
>>> item[0]
6
>>> item[-1]
(1, 2)
>>> item[-1][0]
1
>>> item = ()
>>> type(item)
<class 'tuple'>
>>> item = (5)
>>> type(item)
<class 'int'>
>>> item = (5,)
>>> type(item)
<class 'tuple'>


删除元组的第一个元素

>>> item = (1,2,3,4,5)
>>> item2 = item[1:]
>>> item = item2
>>> item
(2, 3, 4, 5)


元组相关函数:

x in tup #x是否在元组内

len(tup) #元组中的元素数

tup.count(x) #元素x在元组中出现的次数

tup.index(x) #元组中第一个x的索引,如没有则出错

+* #拼接

>>> item
(2, 3, 4, 5)
>>> item*2
(2, 3, 4, 5, 2, 3, 4, 5)
>>> item + (1,2,3)
(2, 3, 4, 5, 1, 2, 3)


列表:可以改变,用[]括起,单元素的末尾不一定要','

>>> numbers = [1,2,3,4,5,6,7]
>>> numbers
[1, 2, 3, 4, 5, 6, 7]
>>> type(numbers)
<class 'list'>
>>> numbers * 2
[1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7]
>>> numbers[1:]
[2, 3, 4, 5, 6, 7]
>>> numbers[-3:]
[5, 6, 7]
>>> numbers[0]=100
>>> numbers
[100, 2, 3, 4, 5, 6, 7]


列表元素指向相应的值,而不是包含。用自引用说明:

>>> numbers
[100, 2, 3, 4, 5, 6, 7]
>>> numbers[0] = numbers
>>> numbers
[[...], 2, 3, 4, 5, 6, 7]


列表的相关函数:

s.append(x) #在列表s末尾添加元素x

#numnote.py
def numnote(lst):
msg = []
for num in lst:
if num < 0:
s = str(num) + 'is negative'
elif 0 <= num <= 9:
s = str(num) + 'is digit'
else:
break
msg.append(s)
return msg


>>> import numnote
>>> numnote.numnote([1,-1,2,22])
['1is digit', '-1is negative', '2is digit']


若要逐行打印

>>> for msg in numnote([1,2,3,10]):
print(msg)

1is digit
2is digit
3is digit
>>> print('\n'.join(numnote([1,2,3,10])))
1is digit
2is digit
3is digit


s.extend() #在末尾添加一个序列

>>> lst = []
>>> lst.extend('cat')
>>> lst
['c', 'a', 't']


s.pop(i) #删除并返回索引为i的元素,默认删除最后一个

>>> lst
['c', 'a', 't']
>>> lst.pop()
't'
>>> lst.pop(0)
'c'
>>> lst
['a']


s.remove(x) #删除s中的第一个x元素,但不返回值

>>> lst
['a', 'h', 'e', 'l', 'l', 'o', ',', 'e', 'v', 'e', 'r', 'y', 'o', 'n', 'e']
>>> lst.remove('e')
>>> lst
['a', 'h', 'l', 'l', 'o', ',', 'e', 'v', 'e', 'r', 'y', 'o', 'n', 'e']


s.reverse() #反转列表元素

>>> lst
['a', 'h', 'l', 'l', 'o', ',', 'e', 'v', 'e', 'r', 'y', 'o', 'n', 'e']
>>> lst.reverse()
>>> lst
['e', 'n', 'o', 'y', 'r', 'e', 'v', 'e', ',', 'o', 'l', 'l', 'h', 'a']


s.sort() #对元素排序 从小到大 要从大到小排序在调用一次reverse就可以了 也可以对列表中的元组排序

>>> lst
['e', 'n', 'o', 'y', 'r', 'e', 'v', 'e', ',', 'o', 'l', 'l', 'h', 'a']
>>> lst.sort()
>>> lst
[',', 'a', 'e', 'e', 'e', 'h', 'l', 'l', 'n', 'o', 'o', 'r', 'v', 'y']
>>> lst.reverse()
>>> lst
['y', 'v', 'r', 'o', 'o', 'n', 'l', 'l', 'h', 'e', 'e', 'e', 'a', ',']


>>> lst = [(1,2),(1,-1),(2,)]
>>> lst
[(1, 2), (1, -1), (2,)]
>>> lst.sort()
>>> lst
[(1, -1), (1, 2), (2,)]


列表解析:用于快速创建列表

>>> [n*n for n in range(1,11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]


>>> [n*n for n in range(1,11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> [2*n**3+4 for n in range(1,11)]
[6, 20, 58, 132, 254, 436, 690, 1028, 1462, 2004]
>>> [c for c in 'pizza']
['p', 'i', 'z', 'z', 'a']
>>> [c.upper() for c in 'pizza']
['P', 'I', 'Z', 'Z', 'A']


使用解析进行筛选:

>>> nums = [-1,0,6,-4,2,5]
>>> result = [n for n in nums if n > 0]
>>> result
[6, 2, 5]


删掉元音

>>> ''.join([c for c in 'Apple' if c.lower() not in 'aeiou'])
'ppl'


不要方括号也可以,将得到生成器表达式

>>> ''.join(c for c in 'Apple' if c.lower() not in 'aeiou')
'ppl'


字典:也称关联数组、映射或散列表 用{}表示

可以利用来访问,键不可重复不可修改 下面的'red'就是键,2是值

>>> color = {'red':2, 'blue':1, 'green':3}
>>> color['red']
2
>>> color['blue']=0
>>> color
{'green': 3, 'blue': 0, 'red': 2}


相关函数

items 、 keys、 values、 get、pop、 popitem、 clear、 copy 、fromkeys 、setdefault、 update

#视图
>>> k = color.keys()
>>> for i in k:print(i)

green
blue
red


集合:只包含键,没有相关联的值

删除列表中重复的元素

>>> lst = [1,1,2,2,3,3,3]
>>> lst
[1, 1, 2, 2, 3, 3, 3]
>>> s = set(lst)
>>> s
{1, 2, 3}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: