基本数据类型(While循环,For循环,列表以及相关用法)
正常在没有学习循环情况下,我们要输出同样的语句,需要重复打印。相当重要!!!!
While循环
将输出放在一行 end=""默认是换行
1 print("Hello World.", end=" ") 2 print("Hello World.", end=" ") 3 print("Hello World.", end=" ")
但是这样不仅耗时也耗力,所以,在Python中同样也加入的循环
循环输出偶数 num=1
1 while num <= 100: 2 if num % 2 == 0: 3 print(num) 4 num += 1 5 num += 1
循环输出奇数
1 num2 = 1 2 while num2 <= 100: 3 if num2 % 2 == 1: 4 print(num2) 5 num2 += 1 6 num2 += 1
猜数字游戏
1 age = 50 2 while True: 3 user_input_age = int(input("Age is:")) 4 if user_input_age == age: 5 print("Yes") 6 print("End") 7 break 8 elif user_input_age > age: 9 print("Is bigger") 10 elif user_input_age < age: 11 print("Is smaller")
For循环
打印 5,6,7,8,9
1 exit_flag = False 2 3 for i in range(10): 4 if i < 5: 5 continue #i < 5不打印,结束本次循环,继续下一次循环 6 print(i)
For循环嵌套
1 for i in range(10): 2 if i < 5: 3 continue 4 print(i) 5 for j in range(10): 6 print("layer2",j) 7 if j ==6: 8 exit_flag =True 9 break 10 if exit_flag: 11 break
列表
在生活中有时候我们常常会遇到大量的名字,序号什么的字符串,的确是可以做到存储,但取的时候不方便,这时候我们就引进的Python中另一个数据类型 列表。也十分重要!!!!!!!
比如将一个班人的名字储存在列表中
1 names_list=['xiaohu','jinxin','wuchao','sanpang','ligang']
比如要在上面列表中取出‘xiaohu’
1 print(names_list[0])
列表中有关查的用法:
1 print(names_list[1:3]) #左包括 右不包括 ['jinxin', 'wuchao'] 2 print(names_list[1:]) #右边什么都不加,取到最后一个 ['jinxin', 'wuchao', 'sanpang', 'ligang'] 3 print(names_list[1:-1]) #右边是-1,取到最后前一个 ['jinxin', 'wuchao', 'sanpang'] 4 print(names_list[1:-2]) #['jinxin', 'wuchao'] 5 print(names_list[1:-1:1]) #从左到右一个一个去取 ['jinxin', 'wuchao', 'sanpang'] 6 print(names_list[1::2]) #从索引值为1的加2取 ['jinxin', 'sanpang'] 7 print(names_list[3::-2]) #正负代表方向 ['sanpang', 'jinxin'] 8 b=names_list[3::-1] #['sanpang', 'wuchao', 'jinxin', 'xiaohu'] 9 print(b) #['sanpang', 'wuchao', 'jinxin', 'xiaohu']
列表中增加的方法 append追加 insert
1 names_list.append('xuepeng') #默认在最后面添加一个['xiaohu', 'jinxin', 'wuchao', 'sanpang', 'ligang', 'xuepeng'] 2 print(names_list) 3 4 names_list.insert(0,"luoxue") #将0的位置插入为luoxue,insert将数据插入到任意位置 5 print(names_list)
对列表里的内容进行修改
1 names_list[2]='haidilao' #直接赋值操作进行修改 2 print(names_list) # ['luoxue', 'xiaohu', 'haidilao', 'wuchao', 'sanpang', 'ligang', 'xuepeng'] 3 names_list[1:3]=['a','b'] # ['luoxue', 'a', 'b', 'sanpang', 'ligang', 'xuepeng'] 4 # print(names_list)
对列表中的内容进行删除 remove pop del clear清空
1 names_list.remove('wuchao') #直接删除内容,后面的向前移 2 print(names_list) 3 b=names_list.pop(1) #pop可以删除对应索引的值,并且可以返回得到删除的值 b 4 print(names_list) 5 print(b) 6 del names_list[0] #既可以删除里面内容,也可以把整个对象删除 7 print(names_list) 8 names_list.clear() 9 print(names_list) #[]
身份判断 判断是不是列表
1 type(names_list) is list # 在命令行中输出True
列表其他相关用法
ount用法 计算列表元素出现的次数
1 list = ['to','be','or','not','to','be'] 2 a=list.count('to') 3 print(a)
extend 将b加入到a后面,不影响b本身
1 a = [1,2,3] 2 b = [4,5,6] 3 a.extend(b) # a变 ,b不变 4 print(a) #[1, 2, 3, 4, 5, 6] 5 print(b) #[4, 5, 6]
ndex 得到元素在列表中的索引位置,根据内容找位置
1 names_list=['xiaohu','jinxin','wuchao','ligang','sanpang','a','ligang','b'] 2 3 first_lg_index = names_list.index("ligang") 4 print("first_lg_index",first_lg_index) # 3 5 6 7 little_list = names_list[first_lg_index+1:] # ['sanpang','a','ligang','b'] 8 9 second_lg_index = little_list.index("ligang") # 2 10 print("second_lg_index",second_lg_index) 11 12 second_li_index_in_big_list = first_lg_index + second_lg_index + 1 13 print("second_li_index_in_big_list",second_li_index_in_big_list) 14 print("second lg:",names_list[second_li_index_in_big_list]) #取到第二个ligang 15 print(names_list.index('jinxin'))
reverse 将列表倒过来
1 names_list=['xiaohu','jinxin','wuchao','ligang','sanpang','a','ligang','b'] 2 names_list.reverse() 3 print(names_list)
sort 排序
1 x=[4,6,3,1,7,9] 2 x.sort(reverse=True) #sort函数里有一个reverse方法,自动从大到小排序 3 print(x) #[9, 7, 6, 4, 3, 1]names_list=['xiaohu','jinxin','wuchao','ligang','sanpang','a','ligang','b'] 4 print("haidilao ge"in names_list) #返回Flase 表示不在 5 names_list=['xiaohu','jinxin','wuchao','Ligang','sanpang','a','ligang','b'] 6 names_list.sort() 7 print(names_list) #也可以对字符串按照ASCALL码进行排序 ['Ligang', 'a', 'b', 'jinxin', 'ligang', 'sanpang', 'wuchao', 'xiaohu']