Python入门第6课——列表变量(只读课堂)

    科技2022-07-15  134

    In [1]: #欢迎来到“只读课堂”!

       ...: #今天呢,我们还是讲变量这些知识,只是说开始讲列表了

       ...: #它甚至呢,比我们的 字符串 还要重要,语句:

       ...:

     

    In [2]: #空列表:

     

    In [3]: varibals = []

     

    In [4]: varibals = list()

     

    In [5]: #特性:可以容纳任意类型的对象,任意数量的对象。“海纳百川,有容乃大”

     

    In [6]: varibals = [1, 2, 3, 'ni hao', 'hello python', [], [100, 100]]

     

    In [7]: #

     

    In [8]: #列表里面还可以再插入列表

     

    In [9]: #【重点】列表是可变类型的。

     

    In [10]: varibals = []

     

    In [11]: #往列表里放东西

     

    In [12]: varibals.append(1)

     

    In [13]: varibals.append(2)

     

    In [14]: varibals.append('ni hao')

     

    In [15]: varibals

    Out[15]: [1, 2, 'ni hao']

     

    In [16]: #也可以给它赋值

     

    In [17]: varibals[0] = 10

     

    In [18]: varibals

    Out[18]: [10, 2, 'ni hao']

     

    In [19]: #它,可増,可减,还可以放各种东西

     

    In [20]: #列表,跟C语言中的“指针”类似,它们都是指向某个东西

     

    In [21]: #——————————————————————————————————————————————————————————————————————

     

    In [22]: #int类型变量

     

    In [23]: var = 10

     

    In [24]: type(var)

    Out[24]: int

     

    In [25]: var = 'str'

     

    In [26]: type(var)

    Out[26]: str

     

    In [27]: #Python是一种动态类型的语言,一个变量是什么类型,要看程序在运行过程中变量所代表的值是什么。

     

    In [28]: #——————————————————————————————————————————————————————————————————————

     

    In [29]: #字符串类型跟我们的列表类型中有些代码是可以相通的: 例如,切片

     

    In [30]: varibals[-2:]

    Out[30]: [2, 'ni hao']

     

    In [31]: #它同样可以进行加法操作:

     

    In [32]: varibals + [1,23]

    Out[32]: [10, 2, 'ni hao', 1, 23]

     

    In [33]: #乘法也是一样的:

     

    In [34]: varibals * 4

    Out[34]: [10, 2, 'ni hao', 10, 2, 'ni hao', 10, 2, 'ni hao', 10, 2, 'ni hao']

     

    In [35]: #我们把字符串和列表统称为“序列”

     

    In [36]: #列表是一种容器型的序列;字符串是一种扁平型的序列。

     

    In [37]: #容器型:什么都可以放;扁平型:只放一种字符

     

    In [38]: len(varibals)

    Out[38]: 3

     

    In [39]: #常用变量类型(列表)

     

    In [40]: #——————————————————————————————————————————————————————————————————————

     

    In [41]: #加内容:

     

    In [42]: varibals.append(1)

     

    In [43]: varibals

    Out[43]: [10, 2, 'ni hao', 1]

     

    In [44]: #它没有返回值,而是修改了列表对象本身。

     

    In [45]: #——————————————————————————————————————————————————————————————————————

     

    In [46]: #清空列表:

     

    In [47]: varibals.clear

    Out[47]: <function list.clear>

     

    In [48]: waribals

    ---------------------------------------------------------------------------

    NameError Traceback (most recent call last)

    <ipython-input-48-f8c71d8e2df1> in <module>()

    ----> 1 waribals

     

    NameError: name 'waribals' is not defined

     

    In [49]: #打错了

     

    In [50]: varibals

    Out[50]: [10, 2, 'ni hao', 1]

     

    In [51]: #——————————————————————————————————————————————————————————————————————

     

    In [52]: #复制

     

    In [53]: new_varibals = varibals

     

    In [54]: new_varibals

    Out[54]: [10, 2, 'ni hao', 1]

     

    In [55]: #更改列表值

     

    In [56]: new_varibals[0] = 99999

     

    In [57]: new_varibals

    Out[57]: [99999, 2, 'ni hao', 1]

     

    In [58]: varibals

    Out[58]: [99999, 2, 'ni hao', 1]

     

    In [59]: #它的值,也发生了改变。其实两个变量是一回事,用哪个都可以的

     

    In [60]: varibals.copy()

    Out[60]: [99999, 2, 'ni hao', 1]

     

    In [61]: #新的变量变了,原先的变量不变,这就是copy的作用

     

    In [62]: new_varibals[-1] = 99999

     

    In [63]: new_varibals[-1][0] = 99999

    ---------------------------------------------------------------------------

    TypeError Traceback (most recent call last)

    <ipython-input-63-44d5d837c11c> in <module>()

    ----> 1 new_varibals[-1][0] = 99999

     

    TypeError: 'int' object does not support item assignment

     

    In [64]: #这样不行了

     

    In [65]: new_varibals

    Out[65]: [99999, 2, 'ni hao', 99999]

     

    In [66]: #——————————————————————————————————————————————————————————————————————

     

    In [67]: #看地址:

     

    In [68]: id(new_varibals[-1]), id(varibals[-1])

    Out[68]: (69927024, 69927024)

     

    In [69]: #“new_varibals[-1] = 99999”,这样就改变了它的指针。

     

    In [70]: #——————————————————————————————————————————————————————————————————————

     

    In [71]: [1,2] + [3,4]

    Out[71]: [1, 2, 3, 4]

     

    In [72]: #这样就生成了一个新的列表

     

    In [73]: a = [1,2]

     

    In [74]: b = [3,4]

     

    In [75]: a + b

    Out[75]: [1, 2, 3, 4]

     

    In [76]: #这样就对列表进行了拼接

     

    In [77]: a.extend(b)

     

    In [78]: a

    Out[78]: [1, 2, 3, 4]

     

    In [79]: #——————————————————————————————————————————————————————————————————————

     

    In [80]: #在列表的另一个末尾添加元素:

     

    In [81]: a.insert(0,100)

     

    In [82]: a

    Out[82]: [100, 1, 2, 3, 4]

     

    In [83]: #你可以选择一个位置去插入

     

    In [84]: #——————————————————————————————————————————————————————————————————————

     

    In [85]: a.pop()

    Out[85]: 4

     

    In [86]: #这个代码会把字符提取出去

     

    In [87]: a

    Out[87]: [100, 1, 2, 3]

     

    In [88]: #也可以把某一位置的值提取出去

     

    In [89]: a.pop(0)

    Out[89]: 100

     

    In [90]: a

    Out[90]: [1, 2, 3]

     

    In [91]: #——————————————————————————————————————————————————————————————————————

     

    In [92]: #移除某一指定值

     

    In [93]: a.remove(2)

     

    In [94]: a

    Out[94]: [1, 3]

     

    In [95]: #它就把第一个指定的值移出了。

     

    In [96]: #如果不存在:

     

    In [97]: a.remove('z)

    File "<ipython-input-97-47f467d29915>", line 1

    a.remove('z)

    ^

    SyntaxError: EOL while scanning string literal

     

     

    In [98]: a.remove('z')

    ---------------------------------------------------------------------------

    ValueError Traceback (most recent call last)

    <ipython-input-98-c7b29c338c05> in <module>()

    ----> 1 a.remove('z')

     

    ValueError: list.remove(x): x not in list

     

    In [99]: #如果不存在,它就会报错

     

    In [100]: #————————————————————————————————————————————————————————————————————

     

    In [101]: #将列表反转:

     

    In [102]: a.sort(reverse=True)

     

    In [103]: a

    Out[103]: [3, 1]

     

    In [104]: #————————————————————————————————————————————————————————————————————

     

    In [105]: #判断值是否在列表中:

     

    In [106]: 4 in a

    Out[106]: False

     

    In [107]: 3 in a

    Out[107]: True

     

    In [108]: #————————————————————————————————————————————————————————————————————

     

    In [109]: print("\n本次“只读课堂”的python教程就到这了,欢迎继续收看!\n")

     

    本次“只读课堂”的python教程就到这了,欢迎继续收看!

    Processed: 0.013, SQL: 8