第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【2】

5.1.7 一些常用操作符

代码
lis1=[123]
lis2=[456]
print(lis1>lis2)
----------------
False

lis1=["abc"]
lis2=["bcd"]
pirnt(lis1<lis2)
----------------
True

列表很聪明,知道比较大小,但是如果有多个元素呢?
代码
lis1=[123,456]
lis2=[234,123]
print(lis1>lis2)
----------------
False

疑问? 123+456>234+123 为何结果不是如此?
默认从第一个元素开始比较,一个赢了,整个赢了。字符串比较同样道理,不过
比较的是第一个字符的ASCII码的大小。字符串和数值不能直接比较大小。
实验代码
lis1 = [123,"bbc"]
lis2 = ["bcd",123]
print(lis1 < lis2)
------------------
Traceback (most recent call last):
File "C:/Users/Daodantou/PycharmProjects/s14/day6/h2.py", line 3, in <module>
print(lis1 < lis2)
TypeError: '<' not supported between instances of 'int' and 'str'

我们知道字符串可以用“+”号来拼接,用“*”号来复制本身若干次,这个列表上也可以体现。
但是并没有改变原数组。一般扩展列表用extend()方法 添一个元素用append()或者insert()
代码
lis1 = ["我爱你"]
lis2=["天黑了"]
print(lis2+lis1)
print(lis1 * 4)
--------------------------------------
['天黑了', '我爱你']
['我爱你', '我爱你', '我爱你', '我爱你']

还有个成员 in 和 not in
代码
name=["鸡蛋","鸭蛋","鹅蛋","龟蛋","蛇蛋"]
print("鸡蛋" in name)
print("恐龙蛋" not ni name)
---------------------------------------------
True
True

in和 not in 只能判断一个层级关系
代码
name=["鸡蛋",["鸭蛋","鹅蛋"],"龟蛋","蛇蛋"]
print("鸭蛋" in name)
print("鸭蛋" not in name)
print("鸭蛋" in name[1][0])
----------------------------------------------
False
True
True

posted on 2019-01-03 11:13  梦中醒来  阅读(95)  评论(0编辑  收藏  举报

导航