'h' 2.切片...">
美文网首页
Python基础(2)_列表元组

Python基础(2)_列表元组

作者: Caesar_emperor | 来源:发表于2019-08-12 09:17 被阅读0次

    一、通用序列操作

    1.索引

    Str = "hello world"
    print(str[0])==>'h'

    2.切片

    Str = "hello world"
    print(Str[0:11:2])==>hlowrd
    print(Str[-1::-3])==>dooe 

    *取值左闭右开,有步长则按起始值加步长取值,逆时针起始值是-1

    3.列表运算

    [1,2,3]+[4,5,3]==>[1,2,3,4,5,3]
    [1,2]*2==>[1,2,1,2]

    4.是否包含

    Str = "hello world"

    print('h' in Str)==>True

    print("h" not in Str)==>False

    二、list操作

    注意:元组tuple只有index,count方法

    1.字符串转list

    list("Hello")==>['H','e','l','l','o']==>字符串转list

    2.增
    注意:
    1.均不会返回新值
    2.append整体加列表和值;extend只能添加列表且会将元素拆开添加进去

    lis=[1,2,3]
    lis.append(3)==>lis[1,2,3,3] 
    *添加元素或列表后,添加一个新列表时,会将整个列表加进去,不会将其中元素拆开添加进去。 
    lis.extend([6,7,4])==>lis[1,2,3,6,7,4] *extend在添加列表时会将列表元素拆开添加进去。 lis.insert(2,'88')==>lis[1,2,88,3] *第一个参数是位置,第二个是插入的值,插入到该位置之前。

    3.删
     注意:
    均不会返回新值,除remove外删除均以位置来决定删除谁

    name = ["hello","world","李雨哲"]

    del name[2]==>name=["hello","world"] *del语句可以删除更多的东西。

    name.pop(0)==>name=["world","李雨哲"] *删除指定位置的参数,默认删除最后一个,可以获取删除的数。

    name.remove("world")==>name=["hello","李雨哲"] *remove删除的是值

    name.clear()==>name=[] 

    4.改

    name=[1,2,3]
    name[0]=3==>name=[3,2,3]

    5.查

    name = ["hello","world","李雨哲"]
    name.index("world") *查找该值的位置,返回索引值,没找到就报错
    name.count("hello") *返回查找的数值

    reverse和reversed排序
    name = ["hello","world","李雨哲"]
    name.reverse()==>['李雨哲', 'world', 'hello']
    A=reversed(name)
    print(list(A))==>['李雨哲', 'world', 'hello'] 

    sort和sorted排序
    name = ["1","3","0"]
    name.sort(reverse=True)==>["3","1","0"]
    *默认升序, reverse=True则降序;参数可以是key,key=len则按长度排序

    name = "python"
    a=["2","5","0"]
    A=sorted(name)
    aa=sorted(a)
    print(A)
    print(aa) 
    *sorted会返回一个新值,sorted函数排序后任何序列均会返回一个列表

    6.复制

    a = [1,2,3]
    b = a
    b[1] = 4==>a=[1,4,3] *赋值后改变值会影响原列表,即浅拷贝 

    import copy

    a=[1,3,5,[4,6]]
    b = copy.copy(a)

    a[3][0]=3
    print(b)==>[1, 3, 5, [3, 6]]
    print(a)==>[1, 3, 5, [3, 6]]

    a[0]=2
    print(b)==>[1, 3, 5, [4, 6]]
    print(a)==>a=[2,3,5,[4,6]] 

    *浅拷贝,更改第一层不会影响复制文件,但因为复制未达到第二层,所以当更改深层数值,会产生影响。 

    import copy

    a=[1,3,5,[4,6]]
    b = copy.copy(a)

    a[3][0]=3
    print(a)==>[1, 3, 5, [3, 6]]
    print(b)==>[1, 3, 5, [4, 6]] 

    *深拷贝,数据完全不共享,完全放入独立的一个内存,怎么更改原值均不会影响复制文件

    相关文章

      网友评论

          本文标题:Python基础(2)_列表元组

          本文链接:https://www.haomeiwen.com/subject/axijjctx.html