1、python 循环控制
案例1:
lucky_num = 19 input_num = int(input("Input the guess number:")) if input_num == lucky_num: print("bingo!") elif input_num > lucky_num: print("The real number is smaller.") else: print("The real number is bigger.")
案例2:
while 循环(无限循环):
lucky_num = 19 while True: input_num = int(input("Input the guess number:")) if input_num == lucky_num: print("bingo!") elif input_num > lucky_num: print("The real number is smaller.") else: print("The real number is bigger.")
break 跳出:
lucky_num = 19 while True: input_num = int(input("Input the guess number:")) if input_num == lucky_num: print("bingo!") break elif input_num > lucky_num: print("The real number is smaller.") else: print("The real number is bigger.")
案例3:
lucky_num = 19 input_num = -1 #True = true , False = False while lucky_num != input_num: input_num = int(input("Input the guess number:")) if input_num == lucky_num: print("bingo!") elif input_num > lucky_num: print("The real number is smaller.") else: print("The real number is bigger.")
(特殊)案例4:
lucky_num = 19 input_num = -1 #True = true , False = False while lucky_num != input_num: input_num = int(input("Input the guess number:")) #if input_num == lucky_num: #print("bingo!") if input_num > lucky_num: print("The real number is smaller.") elif input_num < lucky_num: print("The real number is bigger.") print("Bingo!")
案例5:
lucky_num = 19 input_num = -1 guess_count = 0 while guess_count < 3: print("guess number:",guess_count) input_num = int(input("Input the guess number:")) if input_num > lucky_num: print("The real number is smaller.") elif input_num < lucky_num: print("The real number is bigger.") else: print("Bingo!") break #guess_count = guess_count + 1 guess_count += 1 else: print("Too many retrys!")
案例6:
for 循环:
luck_num = 19 input_num = -1 for i in range(3): input_num = int(input("input the guess num:")) if input_num > luck_num: print("the real number is smaller.") elif input_num < luck_num: print("the real number is bigger.") else: print("Bingo!") break else: print("too many retrys!")
案例7:
name = input("name:") age = input("age:") job = input("job:") #拼接,每个都占内存 print("Infomation of[]:" + name + "\nname:[]" + name + "\nage:[]" + age + "\njob:[]" + job) #只占一个空间、段落 msg = ''' Infomation of %s: Name:%s age:%s job:%s ''' %(name,name,age,job) print(msg) #print("Infomation of %s:\nName:%s\nage:%s\njob:%s" %(name,name,age,job))
案例7(特殊):
name = input("name:") age = int(input("age:")) job = input("job:") #拼接,每个都占内存 #print("Infomation of[]:" + name + "\nname:[]" + name + "\nage:[]" + age + "\njob:[]" + job) #只占一个空间、段落 #%d 数字 #%f 浮点 msg = ''' Infomation of %s: Name:%s age:%d job:%s ''' %(name,name,age,job) print(msg) #print("Infomation of %s:\nName:%s\nage:%s\njob:%s" %(name,name,age,job))
字符串功能:移除空白 分隔 长度 索引 切片
移除空白:
#.strip()移除空白、去掉空格/去掉前后的东西 name = input("name:").strip("z") age = int(input("age:")) job = input("job:").strip() #拼接,每个都占内存 #print("Infomation of[]:" + name + "\nname:[]" + name + "\nage:[]" + age + "\njob:[]" + job) #只占一个空间、段落 #%d 数字 #%f 浮点 msg = ''' Infomation of %s: Name:%s age:%d job:%s ''' %(name,name,age,job) print(msg) #print("Infomation of %s:\nName:%s\nage:%s\njob:%s" %(name,name,age,job))
索引:
>>> name_list = ["zhou", "wu", "wang"]
>>> name_list[1]
'wu'
>>> name_list[2]
'wang'
>>> name_list[0]
'zhou'
>>>
查找功能:
可用:
>>> dir(name_list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>
追加:
>>> name_list.append("zhang")
>>> name_list
['zhou', 'wu', 'wang', 'zhang']
>>> name_list.append("wu")
>>> name_list
['zhou', 'wu', 'wang', 'zhang', 'wu']
>>>
查找:
['zhou', 'wu', 'wang', 'zhang', 'wu']
>>> name_list.index("wu")
1
>>> name_list.count("wu")
2
>>>
插入:
>>> name_list.insert(2,"xu")
>>> name_list
['zhou', 'wu', 'xu', 'wang', 'zhang', 'wu']
>>>
删除(最后一个):
>>> name_list
['zhou', 'wu', 'xu', 'wang', 'zhang', 'wu']
>>> name_list.pop()
'wu'
>>> name_list.pop()
'zhang'
>>>
指定删除:
>>> name_list.remove("xu")
>>> name_list
['zhou', 'wu', 'wang']
>>>
翻转:
['zhou', 'wu', 'wang']
>>> name_list.reverse()
>>> name_list
['wang', 'wu', 'zhou']
>>>
排序(数字、字符、字符串):
['wang', 'wu', 'zhou']
>>> name_list.sort()
>>> name_list
['wang', 'wu', 'zhou']
>>>
删除列表指定值:
['zhou', 'wang', 'zhou', 'wu', 'zhou']
>>> for i in range(name_list.count("zhou")):
name_list.remove("zhou")
>>> name_list
['wang', 'wu']
>>>
>>> a = [1, 2, 3, 'a', 'b'] >>> a[0:2] [1, 2] >>> a[0:3] [1, 2, 3] >>> a.insert(2,4) >>> a [1, 2, 4, 3, 'a', 'b'] >>> a[0:3] [1, 2, 4] >>> a[2:5] SyntaxError: unexpected indent >>> a[2:5] [4, 3, 'a'] >>> a[0:5:2] [1, 4, 'a'] >>> a[0:5:3] [1, 3] >>> a[:-2] [1, 2, 4, 3] >>> a[-2] 'a' >>> a[-2:] ['a', 'b'] >>> a[0:3] [1, 2, 4] >>> a[:3] [1, 2, 4] >>> a.sort() Traceback (most recent call last): File "<pyshell#16>", line 1, in <module> a.sort() TypeError: unorderable types: str() < int() >>> a[0:4] [1, 2, 3, 4] >>> b = a[:4] >>> b.sort() >>> b [1, 2, 3, 4] >>> help(a.sort) Help on built-in function sort: sort(...) method of builtins.list instance L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
叠加extend:
>>> a [1, 2, 3, 4, 'a', 'b'] >>> b [1, 2, 3, 4] >>> a + b [1, 2, 3, 4, 'a', 'b', 1, 2, 3, 4] >>> a.extend(b) >>> a [1, 2, 3, 4, 'a', 'b', 1, 2, 3, 4] >>> name = "xiaolong" >>> a.extend(name) >>> a [1, 2, 3, 4, 'a', 'b', 1, 2, 3, 4, 'x', 'i', 'a', 'o', 'l', 'o', 'n', 'g']
range(迭代器):
>>> range(1) range(0, 1) >>> range(10) range(0, 10) >>> d = range(10) >>> d range(0, 10)
Python 列表(List)
转载地址:http://www.runoob.com/python/python-lists.html
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
以上实例输出结果:
list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
更新列表
你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,如下所示:#!/usr/bin/python
list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2];
list[2] = 2001;
print "New value available at index 2 : "
print list[2];
注意:我们会在接下来的章节讨论append()方法的使用
以上实例输出结果:
Value available at index 2 :
1997
New value available at index 2 :
2001
删除列表元素
可以使用 del 语句来删除列表的的元素,如下实例:
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000];
print list1;
del list1[2];
print "After deleting value at index 2 : "
print list1;
以上实例输出结果:
['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]
注意:我们会在接下来的章节讨论remove()方法的使用
Python列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
如下所示:
| Python 表达式 | 结果 | 描述 |
|---|---|---|
| len([1, 2, 3]) | 3 | 长度 |
| [1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
| ['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
| 3 in [1, 2, 3] | True | 元素是否存在于列表中 |
| for x in [1, 2, 3]: print x, | 1 2 3 | 迭代 |
Python列表截取
Python的列表截取与字符串操作类型,如下所示:
L = ['spam', 'Spam', 'SPAM!']
操作:
| Python 表达式 | 结果 | 描述 |
|---|---|---|
| L[2] | 'SPAM!' | 读取列表中第三个元素 |
| L[-2] | 'Spam' | 读取列表中倒数第二个元素 |
| L[1:] | ['Spam', 'SPAM!'] | 从第二个元素开始截取列表 |
Python列表函数&方法
Python包含以下函数:
| 序号 | 函数 |
|---|---|
| 1 | cmp(list1, list2) 比较两个列表的元素 |
| 2 | len(list) 列表元素个数 |
| 3 | max(list) 返回列表元素最大值 |
| 4 | min(list) 返回列表元素最小值 |
| 5 | list(seq) 将元组转换为列表 |
Python包含以下方法:
| 序号 | 方法 |
|---|---|
| 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]) 对原列表进行排序 |

浙公网安备 33010602011771号