欢迎来到LYBLaoInB的博客
LYBLaoInB
LYBLaoInB
回首往事,不因虚度年华而悔恨,不因碌碌无为而愧疚

Python第二篇详细了解列表,字符串,文件操作

1.列表操作升级

  a.列表合并 

names1=["a","b","c"]
names2=["1","2","3"]
names1.extend(names2)
print(names1)   #['a', 'b', 'c', '1', '2', '3']

  b.列表嵌套

  这其实就是java中的二维数组了

names1=["a","b","c"]
names2=["1","2","3"]
names2.append(["A","B"])
names1.extend(names2)
print(names1)  #['a', 'b', 'c', '1', '2', '3', ['A', 'B']]

  如果想取到A可以names2[3][0]这都和java一样的

  c.清空clear()

  names1.clear()   #结果就是[]

  d.删除pop()并返回删除的元素

names1=["a","b","c"]
names2=["1","2","3"]
names2.append(["A","B"])
names1.extend(names2)
print(names1.pop())    #['A', 'B']

  pop()默认删除最后一个元素,当然用names1.pop(index)可以删除指定位置元素,这里与del names1[index]有区别在于del不会返回任何内容

  e.删除remove(value)删除

  删除列表中的第一个value,如果不存在会报错

  f.查index和count

  names1.index("A")返回A出现的第一个索引位置,不存在会报错,一般先if "A" in names1 :names1.index("A")

names1=["a","b","c"]
if "a" in names1 : print(names1.index("a"))     #结果0

    names1.count("A")返回A在列表中出现的次数

  g.切片[start:end]前包后不包

names1=["a","b","c","d","e","f"]
print(names1[2:5])    #['c', 'd', 'e'],从index2取到index4

  这个切片有很多注意事项,因为不包含最后一个index所以想取出最后一个值用names1[1:]end不写表示从start取到最后,同理,左边的start也是可以不写的,如果是names[:]表示取所有

  start和end都可以用负数,表示倒数第一个到倒数第几个,但是end仍然是不包括在内的

  h.步长[start:end:step]

names1=["a","b","c","d","e","f","g"]
print(names1[-1::-1])  #['g', 'f', 'e', 'd', 'c', 'b', 'a'](负一可以省略)

  步长控制start到end之间每次跳几个元素切片,如果start和end是反着取的并且让step为-1可以实现切片+倒叙,上例子中如果是names1[-2:-5:-1]取出来的就是f,e,d部分倒叙切片

  步长的正负表示从start到end是从左往右还是从右往左,如果start到end的方向和正负是相反的,则取出值为空,比如[-1::1]是想从最后一个取到第一个,方向是从左往右,但是step却是正,则取值为空

  说到这里不得不说python真的很人性化,不仅列表可以用步长实现翻转,就连字符串也可以

names="迪丽热巴"
print(names[::-1])     #巴热丽迪

  值得注意的是切片指的是切出来的新列表是怎样的,对原列表是没有影响的

  i.列表的翻转reverse()和排序sort()

  这其实没什么好说的。。。直接用就完了,sort的时候要求列表中元素都是str类型或者都是数字类型,否则会报错

  j.列表循环

  for name in names:

    print(name)

  k.列表长度len(names)

  l.元组names=("A","B")

  元组和列表用法一样,不过元组只读,不可修改,没有删除,增加,修改操作的方法。常用在你自己的接口中某些不想让别人修改的内容,或者说只读保护的内容,比如word中的只读模式等

  但是如果元组里面有可变元素,那这个可变元素可以修改,比如name=("a","b",["c","d"])那么可以name[2][1]="E"

  m.列表的复制

  names1=names.copy()  两个列表没有任何关系

  n.列表推导式

  下面这种可以得到一个2,4,6,8,10的偶数列表

nums=[i for i in range(10) if i%2==0]
print(nums)

  

 

posted @ 2020-08-06 12:43  LiuYongbo  阅读(167)  评论(0)    收藏  举报
<--将网易云歌单中的id复制到上面的data-id中就可以了 http://music.163.com/playlist?id=3103841025&userid=1698529278 -->