一、for循环
for in循环一开始主要是用来迭代可迭代对象的。
使用格式:
sum = 0
for i in range(1,101) //range(1,101) = [1,101)
sum += i
print("0 - 100 的和为:%s"%sum)
使用for循环进行常规的数据计算:
range(10) #0 - 10范围内的所有整数[0~10)
range(5,10) #从5-9的所有整数,前闭后开区间
range(0,100,10) #[5-100)的所有整数,以10为步长
二、while循环
1)使用格式:
sum = 0
a = 0
while a < 101:
sum += a
a+= 1
print("0-100自然数之和是:%s"%sum)
循环相关关键字:
1、continue :跳过本次循环
2、break: 终止离它最近的循环
3、continue: 和break只能在循环里面用
4、pass:防止代码错误而充当填充的对象,以保证代码的完整性
if i == n:
pass //如果没有pass语句程序将会报错
else
print("******")
eval 将字符串转换成脚本(去掉字符串的引号)
三、Python提供的容器
容器也是一种变量类型,可以用来存放多个数据。
1、列表(list)
与C语言中的数组不同,列表基于双向链表实现的。数组的开辟和释放会在内存中产生很多细碎的内存块,而链表的结构可以使用不连续的内存块进行数据的存储,在每个独立的内存块头部存储上一个内存块的地址,尾部存储下一个内存块块的地址,中部存储数据,更高效的利用了内存资源。
1)列表的定义
num = [1,2,3,4,5]
或
num = type([123,4,5])
2)列表中元素的访问
num[0] #表示访问列表的第1个元素
3)求列表的长度
len(num)
4)列表的遍历
while i < len(num):
print(num[i])
i+=1
5)其他用法
num.append(20) #在列表尾部加一个元素20
num.insert(0,100) #在列表第一个位置追加元素100
num.sort() #将数据从小到大排序(仅限整型数据 组成的列表)
num.index(100) #查找元素,输出列表中第一个100的位置
num = num1.copy() #将列表num1拷贝给列表num、
num.reverse() # 将列表元素顺序翻转
num.remove(“元素”) # 移除列表num中的元素,注意,如果元素不存在,则抛出异常
count() # 统计元素个数
clear() # 清除元素
copy() # 浅拷贝对象,是在堆内存中进行对象拷贝的
num.extend(num1) # 合并列表(将列表mun和列表num1合并)
num.pop() # 删除最后一个元素,并返回这个元素
2、元组(tuple)
元组是不可变类型,元组中的数据一旦定义,不可改变。
1)元组的定义
num = (1,2,3,4,5)
num = tuple()
或
num = tuple((1,2,3,4,5))
2)其他用法
num.index() #查找对应元素,输出查找到的第一个元素的位置
num.count() #统计元组中数据出现的次数
3、集合(set)
集合中不能有重复的元素,集合是无序的,所以并不支持索引。
1)定义一个集合
num = set()
或
num = set({1,2,3,4,5})
或
num = {1,2,3,4,5} #括号中至少要有一个元素。
2)其他用法(num和num1分别为两个不同的集合)
num.clear() #清除集合内的元素
num.remove() #清除集合内的某个元素
num = copy(num1) #将集合num1拷贝给集合num
num.add(10) #插入元素 "10"
num.difference(num1) #计算差集
num.intersection(num1) #计算交集
num.union(num1) #计算并集
nun.update(num1) # 更新集合,合并集合(将集合num和集合num1的并集更新到集合num中)
num.discard() # 移除元素,但是如果不存在,则不做任何操作
4、字典(dict)
-----以键值对的形式存储数据。
1)字典的定义
num = {"name":"wangmazi","age":18}
2)字典的访问(通过key来访问对应的值)
num["name"]
3)其他
num["age"] = 17 #改变键对应的值
num["address"] = "shanxi" #增加键值对
num.clear() #清除字典内的键值对
num = copy(num1) #字典的拷贝
num.get("name") #获取键对应的值,如果字典中没有对应的键,返回None
num.keys() #返回所有的键
num.values() #返回所有的值
num.setdefault() #设置键值的默认值
num.items() #遍历字典
num.pop("name") #移除键值对
popitem #移除一个键值对,移除规则是LIFO
LIFO = last in first out 栈
FIFO = first in first out 队列
4)字典的遍历
for k in d.keys():
print(k, d.get(k))
或
for k in d:
print(k, d[k])
或
for k,v in d.items():
print(k, v)