【3】python_基础

4.2.3 list

  • 定义数组:
    • 一维数组:listname = ['value1','value2','valuen']
    • 二维数组:listname =[ [10,11,12],[20,21,22]],元素20的下标为listname[1][0]
    • 三维数组:listname =[[10,11,12],[20,21,22,23,[31,32,33],5],3],元素32的下标为listname[1][4][1]
  • 查询元素:
    • listname[num]  查询指定位置的元素:print ( listname[num])  #下标num:0指列表第一个元素,-1指列表最后一个元素
    • count  统计指定元素在列表中出现的次数:print (listname.count('value')) 。eg.可以用于判断用户名是否存在
    • index  查询指定元素第一次出现的下标:print (listname.index('value')),如果这个元素不在list里,会直接报错
    • len  查询列表的元素个数:print (len(listname))
 1 #!/usr/bin/python
 2 # -*- conding:utf-8 -*-
 3 # Author:hwm
 4 stus1 = [ '老王','老刘','老单' ]
 5 stus3 = [[1,2,3,4,5,6],['name','age','sex','哈哈',['小明','小黑','小白']],890] #3维数组
 6 # 查询指定位置的元素
 7 print ('1=====',stus1[1])
 8 print ('2=====',stus3[1][4])
 9 print ('3=====',stus3[1][4][2])
10 print ('4=====',stus3[-1])
11 # 统计指定元素在列表中出现的次数
12 print ('5=====',stus1.count('老刘'))
13 print ('6=====',stus3[1][4].count('小黑'))
14 print ('7=====',stus3.count(['name','age','sex','哈哈',['小明','小黑','小白']]))
15 print ('8=====',stus3.count(['小明','小黑','小白']))  # 0
16 print ('9=====',stus3.count('小明'))  # 0
17 # 查询指定元素第一次出现的下标
18 print ('10=====',stus1.index('老刘'))
19 print ('11=====',stus3[1][4].index('小黑'))
20 print ('12=====',stus3.index(['name','age','sex','哈哈',['小明','小黑','小白']]))
21 #print ('13=====',stus3.index(['小明','小黑','小白'])) # false直接报错:ValueError: ['小明', '小黑', '小白'] is not in list
22 #print ('14=====',stus3.count('小明')) # false直接报错:ValueError: '小明'
23 # 查询列表的元素个数
24 print ('15=====',len(stus1))
25 print ('16=====',len(stus3))
26 print ('17=====',len(stus3[1]))
27 print ('18=====',len(stus3[1][4]))
View Code
 1 # 运行结果如下:
 2 1===== 老刘
 3 2===== ['小明', '小黑', '小白']
 4 3===== 小白
 5 4===== 890
 6 5===== 1
 7 6===== 1
 8 7===== 1
 9 8===== 0
10 9===== 0
11 10===== 1
12 11===== 1
13 12===== 1
14 15===== 3
15 16===== 3
16 17===== 5
17 18===== 3
18 
19 View Result
View Result
  • 增加元素:
    • append  在列表末尾增加一个元素:listname.append('value'),如果是多维数组,则使用listname[n1][n2][nn].append('value')
    • insert  在指定位置添加一个元素:listanme.insert(num,'value')   ,如果是多维数组,则使用listname[n1][n2][nn].insert('value')
    • extend  在列表list1末尾增加list2的所有元素:listname1.extend(listname2),会改变listname1
    • list1+list2  合并list1与list2的元素为列表list3: list3=list1+list2,不会改变list1及list2
 1 #!/usr/bin/python
 2 # -*- conding:utf-8 -*-
 3 # Author:hwm
 4 stus1 = [ '老王','老刘','老单' ]
 5 stus2 = [[1,2,3,4,5,6],['name','age']]
 6 stus3 = [[1,2,3,4,5,6],['name','age','sex','哈哈',['小明','小黑','小白']],890] #3维数组
 7 # 在列表末尾增加一个元素
 8 stus1.append('老黄')
 9 print ('1=====stus1',stus1)
10 stus3.append(['旺财',['牛牛','牛夫人']])
11 print ('2=====stus3',stus3)
12 # 在指定位置添加一个元素
13 stus1.insert(0,'老牛')
14 print ('3=====stus1',stus1)
15 stus3.insert(0,['老牛','老铁'])
16 print ('4=====stus3',stus3)
17 # 在列表list1末尾增加list2的所有元素
18 stus3.extend(stus1)
19 print ('5=====stus1',stus1)
20 print ('6=====stus3',stus3)
21 # 合并list1与list2的元素为列表list3
22 stus = stus1+stus2
23 print ('8=====stus1',stus1)
24 print ('9=====stus2',stus2)
25 print ('7=====stus',stus)
View Code
 1 # 运行结果如下:
 2 1=====stus1 ['老王', '老刘', '老单', '老黄']
 3 2=====stus3 [[1, 2, 3, 4, 5, 6], ['name', 'age', 'sex', '哈哈', ['小明', '小黑', '小白']], 890, ['旺财', ['牛牛', '牛夫人']]]
 4 3=====stus1 ['老牛', '老王', '老刘', '老单', '老黄']
 5 4=====stus3 [['老牛', '老铁'], [1, 2, 3, 4, 5, 6], ['name', 'age', 'sex', '哈哈', ['小明', '小黑', '小白']], 890, ['旺财', ['牛牛', '牛夫人']]]
 6 5=====stus1 ['老牛', '老王', '老刘', '老单', '老黄']
 7 6=====stus3 [['老牛', '老铁'], [1, 2, 3, 4, 5, 6], ['name', 'age', 'sex', '哈哈', ['小明', '小黑', '小白']], 890, ['旺财', ['牛牛', '牛夫人']], '老牛', '老王', '老刘', '老单', '老黄']
 8 8=====stus1 ['老牛', '老王', '老刘', '老单', '老黄']
 9 9=====stus2 [[1, 2, 3, 4, 5, 6], ['name', 'age']]
10 7=====stus ['老牛', '老王', '老刘', '老单', '老黄', [1, 2, 3, 4, 5, 6], ['name', 'age']]
11 
12 View Result
View Result
  • 删除元素:
    • pop/del  删除指定位置的元素:listname.pop(num)或 del listname[num]
    • remove  删除指定元素:listname.remove('value')
    • clear  删除整个列表:listname.clear()
 1 #!/usr/bin/python
 2 # -*- conding:utf-8 -*-
 3 # Author:hwm
 4 stus1 = [ '老王','老刘','老单','老铁']
 5 stus2 = [[1,2,3,4,5,6],['name','age']]
 6 stus3 = [[1,2,3,4,5,6],['name','age','sex','哈哈',['小明','小黑','小白']],890] #3维数组
 7 # 删除指定位置的元素
 8 stus1.pop(1)
 9 print ('1=====stus1',stus1)
10 del stus1[1]
11 print ('2=====stus1',stus1)
12 stus3.pop(0)
13 print ('3=====stus3',stus3)
14 del stus3[0][1]
15 print ('4=====stus3',stus3)
16 
17 # 删除指定元素
18 stus1.remove('老铁')
19 print ('5=====stus1',stus1)
20 stus3[0][3].remove('小黑')
21 print ('6=====stus3',stus3)
22 #stus3.remove('小明') # false 直接报错:ValueError: list.remove(x): x not in list
23 #print ('7=====stus3',stus3)
24 
25 # 删除整个列表
26 stus3.clear()
27 print ('8=====stus3',stus3)
View Code
 1 # 运行结果如下:
 2 1=====stus1 ['老王', '老单', '老铁']
 3 2=====stus1 ['老王', '老铁']
 4 3=====stus3 [['name', 'age', 'sex', '哈哈', ['小明', '小黑', '小白']], 890]
 5 4=====stus3 [['name', 'sex', '哈哈', ['小明', '小黑', '小白']], 890]
 6 5=====stus1 ['老王']
 7 6=====stus3 [['name', 'sex', '哈哈', ['小明', '小白']], 890]
 8 8=====stus3 []
 9 
10 View Result
View Result
  • 修改元素:
    • listname[num]  修改指定位置的元素:listname[num]='ModifyValue',如果是多维数组,则使用listname[n1][n2][nn]='ModifyValue'
    • reverse  反转列表:listname.reverse(),不能直接通过print(listname.reverse())打印到。应该行反转,再打印print(listname)
    • sort  列表元素排序:listname.sort(reverse=True) #排序,默认是升序,也是不能直接通过print(listname.sort(reverse=True))打印。应该先排序,再打印print(listname)
 1 #!/usr/bin/python
 2 # -*- conding:utf-8 -*-
 3 # Author:hwm
 4 stus1 = [ '老王','老刘','老单','老铁','冰冰']
 5 stus2 = ['小黑', '小明','白白']
 6 stus3 = [[1,2,3,4,5,6],['name','age','sex','哈哈',['小明','小黑','小白']],890] #3维数组
 7 # 修改指定位置的元素
 8 stus1[1]='刘大姐'
 9 print ('1=====stus1',stus1)
10 stus3[0]=['a',1,2,3,4,5,6]
11 print ('2=====stus3',stus3)
12 stus3[1][3]='嘿嘿'
13 print ('3=====stus3',stus3)
14 stus3[1][4][2]='白白'
15 print ('4=====stus3',stus3)
16 # 反转列表
17 stus1.reverse()
18 print ('5=====stus1',stus1)
19 stus3[1].reverse()
20 print ('6=====stus3',stus3)
21 stus3[1][0].reverse()
22 print ('7=====stus3',stus3)
23 stus3.reverse()
24 print ('8=====stus3',stus3)
25 # 列表元素排序:reverse = True 降序, reverse = False 升序(默认)
26 stus1.sort()    # 默认升序
27 print ('9=====stus1',stus1)
28 stus1.sort(reverse=True)    # 强制降序
29 print ('10=====stus1',stus1)
30 #stus3.sort()    # false直接报错:TypeError: unorderable types: list() < int()
31 #print ('11=====stus3',stus3)
32 stus3=[890, [['小黑', '小明','白白'], '嘿嘿', 'sex', 'age', 'name'], ['a', 1, 2, 3, 4, 5, 6]]
33 stus3[1][0].sort()    # false直接报错:TypeError: unorderable types: list() < int()
34 print ('12=====stus3',stus3)
35 stus3[1][0].sort(reverse=True)    # false直接报错:TypeError: unorderable types: list() < int()
36 print ('13=====stus3',stus3)
37 #stus3[1][0].sort()    # false直接报错(列表和整型排序报错):TypeError: unorderable types: list() < int()
38 #print ('14=====stus3',stus3)
39 #stus3[2].sort(reverse=True)    # false直接报错(字符串和整型排序报错):TypeError: unorderable types: str() < int()
40 #print ('15=====stus3',stus3)
41 stus2.sort()    # false直接报错:TypeError: unorderable types: list() < int()
42 print ('16=====stus2',stus2)
43 stus2.sort(reverse=True)    # false直接报错:TypeError: unorderable types: list() < int()
44 print ('17=====stus2',stus2)
View Code
# 运行结果如下:
1=====stus1 ['老王', '刘大姐', '老单', '老铁', '冰冰']
2=====stus3 [['a', 1, 2, 3, 4, 5, 6], ['name', 'age', 'sex', '哈哈', ['小明', '小黑', '小白']], 890]
3=====stus3 [['a', 1, 2, 3, 4, 5, 6], ['name', 'age', 'sex', '嘿嘿', ['小明', '小黑', '小白']], 890]
4=====stus3 [['a', 1, 2, 3, 4, 5, 6], ['name', 'age', 'sex', '嘿嘿', ['小明', '小黑', '白白']], 890]
5=====stus1 ['冰冰', '老铁', '老单', '刘大姐', '老王']
6=====stus3 [['a', 1, 2, 3, 4, 5, 6], [['小明', '小黑', '白白'], '嘿嘿', 'sex', 'age', 'name'], 890]
7=====stus3 [['a', 1, 2, 3, 4, 5, 6], [['白白', '小黑', '小明'], '嘿嘿', 'sex', 'age', 'name'], 890]
8=====stus3 [890, [['白白', '小黑', '小明'], '嘿嘿', 'sex', 'age', 'name'], ['a', 1, 2, 3, 4, 5, 6]]
9=====stus1 ['冰冰', '刘大姐', '老单', '老王', '老铁']
10=====stus1 ['老铁', '老王', '老单', '刘大姐', '冰冰']
12=====stus3 [890, [['小明', '小黑', '白白'], '嘿嘿', 'sex', 'age', 'name'], ['a', 1, 2, 3, 4, 5, 6]]
13=====stus3 [890, [['白白', '小黑', '小明'], '嘿嘿', 'sex', 'age', 'name'], ['a', 1, 2, 3, 4, 5, 6]]
16=====stus2 ['小明', '小黑', '白白']
17=====stus2 ['白白', '小黑', '小明']

View Result
View Result
  • 条件判断:if username  in listname /if username not in listname

4.3 变量

  • 变量是存储在内存中的值。

  • 定义变量:格式为key = value ,不需要声明数据类型,python会自动识别数据类型。变量名只能是 字母、数字或下划线的任意组合。变量名的第一个字符不能是数字。
  • 以下关键字不能声明为变量名

4.4 条件判断

  • 格式:if xxx: code  elif xxx: code   elif xxx:code  else: code  
  • 常用的条件判断符号:
    • 等于     ==
    • 大于          >
    • 小于          <
    • 大于等于  >=
    • 小于等于  <=
    • 不等于      !=
    • 且      and,不能写&&
    • 或            or
  • 常用的运算符
    • count +=1     (count = count+1)
    • count -=1      (count = count-1)
    • count *=1      (count = count*1)
    • count /=2      (count =count/2)
  • 基本嵌套条件判断:
1 # if else
2 name = input ('请输入名字:')
3 if name == "胡歌":
4     print ('你最帅!')
5 elif name == "小敏儿":
6     print ('你最美!')
7 else:
8     print ('good luck!')
  •  嵌套条件判断:
 1 # 嵌套条件判断
 2 name = input ('请输入名字:')
 3 age = input ('请输入年龄:')
 4 age = int (age)
 5 if name == "胡歌":
 6     print ('你最帅!')
 7     if age > 30:
 8         print (age,'不管你多大,我都喜欢')
 9 elif name == "小敏儿":
10     print ('你最美!')
11 else:
12     print ('good luck!')

猜你喜欢

转载自www.cnblogs.com/huangwenmin/p/9132354.html