date:2017-03-25
random(a,b) 生成a,b之间之的一个随机数,包括a和b
range(a,b)生成一个a,b之间的序列,包括a,但不包括b
None类型:s = None type(s) --> 判断时可用 if i is None:
变量交换:a,b=b,a 比较友好的一点是不用引入中间变量了
id()函数: 查看一个对象在内存中的位置,可根据此判断两个对象是否相等
help()函数: 获取一个函数或模块的详细说明
dir()函数: 获取一个函数或模块内的操作方法,输出的是方法列表
三种格式化输出的方法:
name=Yort
age=18
# 第一种格式化输出方法
print('my name is %s, I am %2d years old.' %(name,age)) #%2d表示2个占位符
# 第二种格式化输出方法
print('my name is {my_name}, I am {my_age} years old.'.format(my_name=name,my_age=age))
# 第三种格式化输出方法
print('my name is {0}, I am {1} years old.'.format(name,age))
其中:
{name:<10}表示10个占位符,左对齐
{name:>10}表示10个占位符,右对齐
{name:^10}表示10个占位符,居中对齐
如果有这样的需求就可以用列表来完成
nums=[1,2,3,4,5,6,7,8]
因为列表是有序的数据集,可以通过列表名[索引]的方式访问列表中的元素
索引编号:
从左向右: 0,1,2,3…n-1
从右向左:-1,-2,-3…-n
其中,访问的列表必须要存在,否则会报错
通过直接给 列表名[索引] 修改对应索引位置的值
修改元素的索引必须存在,否则报错
使用for循环
nums=[1,2,3,4,5,6,7,8]
for i in nums:
print(i)
* 序列都可以进行的操作包括索引,切片,加,乘,检查成员。*
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
列表可以实现增删改查、四则运算,还有一些内置的方法
可以使用 del 语句来删除列表的的元素,如下实例:
#!/usr/bin/python3
list = ['Google', 'Runoob', 1997, 2000]
print (list)
del list[2]
print ("删除第三个元素 : ", list)
append()方法来添加列表项
#!/usr/bin/python3
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)
[1,2,3] + [4,5,6]
[1,2] * 3
* 列表对 +
和 *
的操作符与字符串相似。+
号用于组合列表,*
号用于重复列表。 *
list[start : end : step]
list[::step]
list[start:end]
list[:end]
list[start:]
list[:]
列表的切片的作用
引用、复制、反转list、获取偶数组成的list、获取奇数组成的list
通过切片进行list的增删改等
序号 | 函数 | 说明 |
---|---|---|
1 | len(list) | 列表元素个数 |
2 | max(list) | 返回列表元素最大值 |
3 | min(list) | 返回列表元素最小值 |
4 | list(seq) | 将元组转换为列表 |
序号 | 函数 | 说明 |
---|---|---|
1 | list.append(obj) | 在列表末尾添加新的对象 |
2 | list.count(obj) | 统计某个元素在列表中出现的次数 |
3 | list.extend(seq) | 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
4 | list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置,若无,则报错 |
5 | list.insert(index, obj) | 将对象插入列表 |
6 | list.pop(obj=list[-1]) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
7 | list.remove(obj)) | 移除列表中某个值的第一个匹配项 |
8 | list.reverse() | 反向列表中元素 |
9 | list.sort([func]) | 对原列表进行排序 |
10 | list.clear() | 清空列表 |
11 | list.copy() | 复制列表 |
先进先出 list.append() + list.pop(0)
先进后出 list.append() + list.pop()
访问元组时可通过元组名[索引]的方式
访问的元组数据不存在则报错
>>> nums=(1,2,[5,6])
>>> nums
(1, 2, [5, 6])
元组和列表一样,是一个可迭代的对象
t = (1,2,3,4,5)
for i in t:
print(t)
元组可通过tuple()函数将其它数据类型转换为元组
>>> tuple('abcdef')
('a', 'b', 'c', 'd', 'e', 'f')
>>> tuple([1,2,3,4,5])
(1,2,3,4,5)
>>> tuple(range(10))
(0,1,2,3,4,5,6,7,8,9)
tuple[start:end:step]
tuple [::step]
tuple[start:end]
tuple[:end]
tuple [start:]
tuple[:]
元组和列表的大部分特性都是相同的,四则运算也是只支持加(+)、乘(*)
>>> (1,2,3) + (4,5,6)
(1,2,3,4,5,6)
>>> (1,2,3) * 3
(1,2,3,1,2,3,1,2,3)
nums = (1,2,3,4,5)
# 获取元素数量
len(nums)
# 获取tuple中最大值和最小值
max(nums)
min(nums)
# 判断元素是否存在tuple中
>>> 1 in nums
True
>>> 6 in nums
False
count 计算tuple中存在相同元素的数量
index 获取元素在tuple中的位置
>>> nums
(1, 2, 1, 1, 5)
>>> nums.count(1)
3
>>> nums.index(2)
1
>>> nums[2].append(7)
>>> nums
(1, 2, [5, 6, 7])
为什么元组里的数据改变了?
元组里的值是不可变的,对于list等复杂数据类型的为引用方式存储数据类型的地址,其地址不可变,但内部数据可变
主要是用于一些不想被修改的变量,例如,月,日,周,一些公式常量,或函数参数传递时不被修改等