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])##哈哈,随手写的,巧了么不是