您的位置:首页 > 编程语言 > Python开发

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

2018-03-17 19:04 441 查看
Jupyter QtConsole 4.3.1Python 3.6.3 |Anaconda custom (32-bit)| (default, Oct 15 2017, 07:29:16) [MSC v.1900 32 bit (Intel)]Type 'copyright', 'credits' or 'license' for more informationIPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]:
In [1]:
In [1]:
In [1]:
In [1]:
In [1]: #欢迎来到“只读课堂”!往期课程和Python资料包请找QQ:1649643021,我们的学习交流群:206527832   ...: #今天呢,我们还是讲变量这些知识,只是说开始讲列表了   ...: #它甚至呢,比我们的 字符串 还要重要,语句:   ...:
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]: varibalsOut[15]: [1, 2, 'ni hao']
In [16]: #也可以给它赋值
In [17]: varibals[0] = 10
In [18]: varibalsOut[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 * 4Out[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]: varibalsOut[43]: [10, 2, 'ni hao', 1]
In [44]: #它没有返回值,而是修改了列表对象本身。
In [45]: #——————————————————————————————————————————————————————————————————————
In [46]: #清空列表:
In [47]: varibals.clearOut[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]: varibalsOut[50]: [10, 2, 'ni hao', 1]
In [51]: #——————————————————————————————————————————————————————————————————————
In [52]: #复制
In [53]: new_varibals = varibals
In [54]: new_varibalsOut[54]: [10, 2, 'ni hao', 1]
In [55]: #更改列表值
In [56]: new_varibals[0] = 99999
In [57]: new_varibalsOut[57]: [99999, 2, 'ni hao', 1]
In [58]: varibalsOut[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_varibalsOut[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 + bOut[75]: [1, 2, 3, 4]
In [76]: #这样就对列表进行了拼接
In [77]: a.extend(b)
In [78]: aOut[78]: [1, 2, 3, 4]
In [79]: #——————————————————————————————————————————————————————————————————————
In [80]: #在列表的另一个末尾添加元素:
In [81]: a.insert(0,100)
In [82]: aOut[82]: [100, 1, 2, 3, 4]
In [83]: #你可以选择一个位置去插入
In [84]: #——————————————————————————————————————————————————————————————————————
In [85]: a.pop()Out[85]: 4
In [86]: #这个代码会把字符提取出去
In [87]: aOut[87]: [100, 1, 2, 3]
In [88]: #也可以把某一位置的值提取出去
In [89]: a.pop(0)Out[89]: 100
In [90]: aOut[90]: [1, 2, 3]
In [91]: #——————————————————————————————————————————————————————————————————————
In [92]: #移除某一指定值
In [93]: a.remove(2)
In [94]: aOut[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]: aOut[103]: [3, 1]
In [104]: #————————————————————————————————————————————————————————————————————
In [105]: #判断值是否在列表中:
In [106]: 4 in aOut[106]: False
In [107]: 3 in aOut[107]: True
In [108]: #————————————————————————————————————————————————————————————————————
In [109]: print("\n本次“只读课堂”的python教程就到这了,欢迎继续收看!\n")
本次“只读课堂”的python教程就到这了,欢迎继续收看!

In [110]:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息