Python--数据类型与list列表
本页包含但不限于以下内容:
单引号、双引号、三引号
输入输出与占位
input接收到的都是str字符串类型。input执行后即使没有print也会有输出结果
%s占位,通用万能的,后面可以是整数、小数、str都可以
%d占位,只能是int整数
%f占位,只能是float小数,保留两位小数就是%.2f
type查看数据类型,int、str相互转换
列表/数组/list[]的增(append、insert)删(pop、remove)改查、统计count、找下标index、清空clear、排序sort、合并extend
针对原来的list进行操作,比如排序、删除等是方法,没有返回值,都需要在单独print(list),而统计、查找则是统计好告诉你结果,所以可以直接输出结果
for循环取list里面的值
多维数组及取值
单引号、双引号、三引号
1 # 不需要加引号
2 age = 18#数字不需要加引号
3 score = 89.3#小数也不需要加引号
4
5 # 单双引号
6 name = "xiaohei" #加引号里面是字符串
7 名字 = "小黑"#在python中,变量可以是中文,但是最好不要这样用
8 addr = '北京'#单引号与双引号一个意思
9
10 words = "let's go!"#如果里面有单引号,则外面要用双引号
11 words2 = '这个单词是从"时间简史"中引用的' #里面是双引号同理
12
13 # 三引号
14 words3 = '''let's go!这个单词是从"时间简史"中引用的'''
15 '''
16 如果里面既有单引号又有双引号,则用三引号
17 而三引号前面如果没有变量,则表示注释掉中间部分内容
18 '''
输入输出与占位%s、%d、%f
1 # 接收输入的变量
2 name = input("请输入你的名字:")#注意:python2中不能用input,要用raw_input
3 print("你输入的名字是:",name)
4
5 # %s
6 import datetime
7 username = input("请输入名字:")
8 today = datetime.datetime.today()
9 w1 = print("欢迎%s登录"%username)#一个变量
10 w2 = print("欢迎%s登录,今天的日期是%s"%(username,today))#两个变量
11 w3 = print("欢迎"+username+"登录,""今天的日期是"+str(today))
12 #直接相加的方式比较麻烦,不推荐。因为必须要类型一致,比如today要转换为str类型.
13
14 # %d
15 age = input("请输入你的11年龄:")
16 intage = int(age)
17 s1 = print("你的年龄是:%d"%intage)# %d后面用%age会报错类型错误,需要实数,而不是str
18 s2 = print("你的年龄是%s"%age)
19
20 # %f
21 score = input("请输入你的成绩:")
22 fscore = float(score)
23 a1 = print("你的成绩是%f"%fscore)# %f后面直接用%score报错同上,此时输入59也会输出59.000000
24 a2 = print("你的成绩是%.2f"%fscore)# 输入59也会输出59.00
数据类型转换
1 age1 = 17#int整数类型,这个代入不会报错
2 age2 = input("11")#input接收到的都是str字符串类型。input执行即使没有print也会有输出结果11
3 age3 = int(input("请输入你的年龄:"))#int可以将str类型转为int类型
4 #如果age3中输入小数,则age3会报错,需要用float
5 age4 = float(input("请输入你的年龄:"))#输入整数、小数都不会报错
6 today2 = str(datetime.datetime.today())#str可以将int类型转为str类型
7
8 print('类型是:',type(age1))#type可以查看类型
列表/数组/list
如果想传入多个数值,可以通过列表list(也叫数组)来实现
[]里面存list,里面可以放所有类型,也不限制长度,里面的值有对应的编号
增删改查
1 new_students = ["A","B","C","D",1]
2
3 # 取值。下标、索引、角标都是指里面元素的编号,0表示第一个元素,-1表示最后一个元素。
4 print(new_students[0])#A
5 print(new_students[-5])#A
6
7 #增加
8 new_students.append("E")#在列表末尾增加元素
9 new_students.insert(1,"F")#在指定位置增加,把F加到1这个位置。['A', 'F', 'B', 'C', 'D', 1]
10
11 # 修改:找到下标,重新传个值即可修改
12 new_students[0] = "F" #['F', 'B', 'C', 'D', 1]
13
14 # 删除
15 new_students.pop(0)# 把要删除元素的下标传进来即可删除['B', 'C', 'D', 1],删除不存在的下标元素会报错
16 new_students.remove("D")# 把要删除元素传进来即可删除['A', 'B', 'C', 1],删除不存在的元素会报错,存在多个相同元素,只会删除第一个
统计、找下标、清空、排序、反转、合并
1 # 统计
2 print(new_students.count("A"))#1# 统计元素出现的次数
3
4 # 找下标
5 print(new_students.index("C"))#2# 找到元素对应的下标,不存在的元素会报错
6
7 #清空
8 print(new_students.clear()) #结果:None
9 print(new_students) #结果:[]
10
11 # 排序,需要排序的list内格式必须是一致的,否则报错
12 new_students.pop(-1)
13 new_students.insert(0,"F")#[ 'F','A', 'B', 'C', 'D']
14 new_students.sort()#升序排列,['A', 'B', 'C', 'D', 'F']
15 new_students.sort(reverse=True)#降序排列,['F', 'D', 'C', 'B', 'A']
16 print(new_students)
17 print(new_students.sort())#不可以直接输出,结果是None,要像上面那样用
18
19 #反转,原来是第一个变为最后一个
20 new_students.reverse() #[1, 'D', 'C', 'B', 'A']
21
22 # 合并
23 new_students2 = ["E",2]
24 L3 = new_students.extend(new_students2)
25 print(new_students)#注意是输出前面的list,而不是L3=None,['A', 'B', 'C', 'D', 1, "E",2]
for循环取list里面的值
1 for stu in new_students:#直接循环list,每次循环就是取list里面的每个元素
2 print(stu)#依次输出list里面的元素
多维数组取值
1 l1 = [1,2,3,['A', 'B', 'C']]#二维数组
2 l2 = [1,2,3,['A', 'B', 'C',["!","#","$"]]]#三维数组
3 print(l1[3][1])#B
4 print(l2[3][3][1])##哈哈,随手写的,巧了么不是