Python随笔3

列表

列表是Python中内置的6个序列类型之一,也是非常常见的一个序列类型

列表的定义:

list_name[元素1,元素2,元素3...]

索引:

列表中的元素也叫做项,每一个元素(项)都有自己的索引,从左到右是从0开始依次增大,从右到左是从-1开始依次减小

例子:从键盘输入年、月、日,然后从控制台输出年月日的字符串

months = ["January", "February", "March", "April",
        "May", "June", "July", "August",
        "September", "October", "November", "December"]
days = ["st", "nd", "rd"]+17*["th"]\
    + ["st", "nd", "rd"]+7*["th"]\
    + ["st"]
input_year = input("please input year:")
input_month = input("please input month(1-12):")
input_day = input("please input day(1-31):")
month_number = int(input_month)
day_number = int(input_day)
print_day = days[day_number-1]
print_month = months[month_number - 1]
print(print_month+" "+input_day+print_day+"."+input_year)

结果为:

please input year:2018
please input month(1-12):11
please input day(1-31):4
November 4th.2018

分片:

通过索引可以查询列表中指定位置的元素,通过分片可以查看列表中指定索引范围的元素

list[index1:index2],左闭右开,index1<index2

例:

有列表list=[1,2,3,4,5]

  • 输出所有元素
list1=[1,2,3,4,5]
print("輸出所有元素")
print(list1[:])
print("輸出所有元素")
print(list1[0:])
print("輸出所有元素")
print(list1[:5])
print("輸出所有元素")
print(list1[-5:])

 

结果

輸出所有元素
[1, 2, 3, 4, 5]
輸出所有元素
[1, 2, 3, 4, 5]
輸出所有元素
[1, 2, 3, 4, 5]
輸出所有元素
[1, 2, 3, 4, 5]
  • 指定输出哪个范围的元素
list1=[1,2,3,4,5]
print("输出前三位")
print(list1[:3])
print("输出第1位到第3位")
print(list1[1:4])

结果

输出前三位
[1, 2, 3]
输出第1位到第3位
[2, 3, 4]

步长:

  • 间隔2个步长输出list1中的元素
print("步长为2")
print(list1[::2])
print("步长为2")
print(list1[0:5:2])
print("步长为2")
print(list1[::-2])

结果

步长为2
[1, 3, 5]
步长为2
[1, 3, 5]
步长为2
[5, 3, 1]

步长为负数时,必须使索引开始大于索引结束,否则输出的为空;步长为负数且没有指定开始点和结束点,则从序列尾部开始获取元素

 

列表相加、相乘(列表和字符串不能相加)

print([1,2,3]+["a","b","c"])
print(["Java","PHP"]*3)

结果

[1, 2, 3, 'a', 'b', 'c']
['Java', 'PHP', 'Java', 'PHP', 'Java', 'PHP']

判断元素是否在列表中(in)

students=[["Tom",29],
          ["Jerry",22],
          ["Bon",18]]
name_input=input("please input name:")
age_input=int(input("please input age:"))
if[name_input,age_input] in students:
    print(True)
else:
    print(False)

结果:

please input name:Tom
please input age:29
True

列表的长度、最大最小值

len()、max()、min()

max()、min()作用的列表中不能同时有int型和str型数据

 

列表的维护:

  • 通过list()函数将字符串转换为列表,字符串中的字符成为列表中的元素
a="Alice2Bob"
list1=list(a)
print(list1[:])

结果

['A', 'l', 'i', 'c', 'e', '2', 'B', 'o', 'b']
  • 更改指定位置的元素
list1=[1,2,3,"A",7]
list1[3]=5
print(list1[:])

结果

[1, 2, 3, 5, 7]
  • 增加列表中的元素
list1=[1,2,3,"A",7]
print("append():append object to end 末尾添加元素")
list1.append(0)
print(list1[:])
print("extend():extend list by appending elements from the iterable 末尾添加列表当作元素")
list1.extend(["w","c"])
print(list1[:])
print("insert():insert object before index 在指定索引之前的一位添加元素")
list1.insert(3,4)
print(list1[:])

结果:

append():append object to end 末尾添加元素
[1, 2, 3, 'A', 7, 0]
extend():extend list by appending elements from the iterable 末尾添加列表当作元素
[1, 2, 3, 'A', 7, 0, 'w', 'c']
insert():insert object before index 在指定索引之前的一位添加元素
[1, 2, 3, 4, 'A', 7, 0, 'w', 'c']
  • 删除列表中的元素
list1=[1,2,3,"A",7,2,5,"a"]
print("remobe():remove first occurrence of value 删除第一次出现的指定的元素")
list1.remove(2)
print(list1)
print("del:del 列表名[索引位置] 删除指定位置的元素")
del list1[2]
print(list1)
print("pop():remove and return item at index (default last) 删除指定索引对应的元素并返回改元素(默认最后一个)")
print(list1.pop())
print(list1)

结果

remobe():remove first occurrence of value 删除第一次出现的指定的元素
[1, 3, 'A', 7, 2, 5, 'a']
del:del 列表名[索引位置] 删除指定位置的元素
[1, 3, 7, 2, 5, 'a']
pop():remove and return item at index (default last) 删除指定索引对应的元素并返回改元素(默认最后一个)
a
[1, 3, 7, 2, 5]
  • 分片赋值的增删替换
listr=["a","b","c"]
listr[2:3]=["v"]
print(listr)
listr[1:1]=["d"]
print(listr)
listr[2:3]=[]
print(listr)

结果

['a', 'b', 'v']
['a', 'd', 'b', 'v']
['a', 'd', 'v']
  • 查找元素在列表中的位置
listr=[1,2,3,4,5,3,6,3]
print("index():return first index of value")
print(listr.index(3))

结果

index():return first index of value
2
  • 查询元素在列表中出现的次数
listr=[1,2,3,4,5,3,6,3]
print("count():return number of occurrences of value ")
print(listr.count(3))

结果

index():return first index of value
3
  • 将列表中的元素反向存放,没有返回值(不改变列表的物理地址)
listr=[1,2,3,4,5,3,6,3]
print("count():return number of occurrences of value 将列表中的元素反向存放但是不改变列表的物理地址")
b=listr
listr.reverse()
print(listr)
print(b)

结果

count():return number of occurrences of value 将列表中的元素反向存放但是不改变列表的物理地址
[3, 6, 3, 5, 4, 3, 2, 1]
[3, 6, 3, 5, 4, 3, 2, 1]

 

posted @ 2018-11-04 20:58  bigbigtong  阅读(161)  评论(0编辑  收藏  举报