《零基础入门学习Python》学习过程笔记【012列表的常用函数,逻辑关系,+,*,in,列表推导式】

1列表如何比较大小?(从各个列表的第一个元素开始比起,如果当前两个元素不相等,则不再比较,得出结果;如果相等,还要继续比较下去)

>>> a=[1,2,3,4]
>>> b=[1,2,3,4]
>>> a==b

>>> a=[1,2]
>>> b=[1,3]
>>> a==b
False



2列表相加?(等同于列表的连接,产生一个新列表,该列表中包含两个列表的元素)

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



3列表乘一个数n?(生成一个列表,该列表中元素为原列表中元素重复n次,原列表不变)

>>> a=[1,2]
>>> b=a*3
>>> b
[1, 2, 1, 2, 1, 2]



4成员关系操作符in ( not in)?(用于判断一个元素在或不在列表中)

>>> a=[1,2,3,4,'a','b']
>>> 'a'in a
True
>>> 1 in a
True
>>> 5 not in a
True
>>> 3 not in a
False

注in只能判断一个括号范围内的存在关系

>>> a=[1,2,3,['a','b'],4]
>>> 'a'in a
False
>>> ['a','b'] in a
True



5如何访问位于列表中的列表的值?(类似二元数组)

>>> a=[1,2,3,[4,5,6]]
>>> a[3][0]
4
>>> a[3][1]
5
>>> a[3][2]
6
>>> 

所以上面的问题可以用这种方法解决

>>> a=[1,2,3,[4,5,6]]

>>> a[3]
[4, 5, 6]
>>> 4 in a[3]
True




6如果计算一个值在这个列表中出现了多少次?(list类对象的count方法)

>>> a=[1,1,1,2,2,2,3,3]
>>> a.count(1)
3
>>> a.count(2)
3

>>> a.count(3)
2



7如何返回指定值在列表中的索引?列表类函数的index方法

1.list.index(值)

2.list.index(值,开始索引,结束索引)

注:index只能返回找到的第一个位置的索引

>>> a=[1,2,3,4]
>>> a.index(1)
0
>>> a=[1,2,3,1,2,3]
>>> a.index(2)
1
>>> a.index(2,2,5)
4




8如何逆置整个列表?列表类对象的reverse方法

reverse英[rɪˈvɜ:s]         vt.(使) 反转;

>>> a=[1,2,3,4]
>>> a.reverse()
>>> a
[4, 3, 2, 1]

 a=[1,2,3,'b',['1,2,3']]
>>> a.reverse()
>>> a
[['1,2,3'], 'b', 3, 2, 1]



9如何将列表排序?列表类的sort方法,没有参数时为升序

  sort [sɔ:t]       vt.将…排顺序;

>>> a=[1,2,43,5,7,8,4,6,9,0]
>>> a.sort()
>>> a
[0, 1, 2, 4, 5, 6, 7, 8, 9, 43]
那么,如何将列表降序排列?
1.先升序排列
2用reverse()方法逆置列表




10对象的赋值(对象a=对象b,其实是把对象a的名字贴在了对象b上,他们两个是一个东西)
>>> a=[6,5,4]
>>> b=a
>>> a.sort()
>>> a
[4, 5, 6]
>>> b
[4, 5, 6]
但是a[:]产生的是另外一个列表
>>> a
[4, 5, 6]
>>> c=a[0:]
>>> c
[4, 5, 6]
>>> a.reverse()
>>> a
[6, 5, 4]
>>> c
[4, 5, 6]



11列表推导式?(遍历这个列表,并把所得的值存在列表中)

格式 [关于i的表达式 for i in list]

>>> range(0,10)
range(0, 10)
>>> list(range(0,10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> [i*i for i in range(0,10)]    
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]


>>> [i**2 for i in range(0,11)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]


>>> list1=[]
>>> for i in range(0,11):
list1.append(i**2)

>>> list1
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]



12为什么new的值没有改变?

>>> old=[1,2,3]
>>> new=old
>>> old=[6]
>>> new
[1, 2, 3]

答:old指向空间[1,2,3]

随后new 也只想这个空间

但是后来old指向空间[6]

new还是指向【1,2,3】这个空间,所以不变


原文地址:https://www.cnblogs.com/iamjuruo/p/7470914.html