为什么网站收录在百度突然没有了,电商网站是什么意思,大气网站建设,建筑a证1. 列表、元组操作 列表是我们最以后最常用的数据类型之一#xff0c;通过列表可以对数据实现最方便的存储、修改等操作 定义列表 names [Alex,Tenglan,Eric] 通过下标访问列表中的元素#xff0c;下标从0开始计数 names[0]
Alexnam…1. 列表、元组操作 列表是我们最以后最常用的数据类型之一通过列表可以对数据实现最方便的存储、修改等操作 定义列表 names [Alex,Tenglan,Eric] 通过下标访问列表中的元素下标从0开始计数 names[0]
Alexnames[2]
Ericnames[-1]
Ericnames[-2] #还可以倒着取
Tenglan 切片:取多个元素 names [Alex,Tenglan,Eric,Rain,Tom,Amy]names[1:4] #取下标1至下标4之间的数字包括1不包括4
[Tenglan, Eric, Rain]names[1:-1] #取下标1至-1的值不包括-1
[Tenglan, Eric, Rain, Tom]names[0:3]
[Alex, Tenglan, Eric]names[:3] #如果是从头开始取0可以忽略跟上句效果一样
[Alex, Tenglan, Eric]names[3:] #如果想取最后一个必须不能写-1只能这么写
[Rain, Tom, Amy] names[3:-1] #这样-1就不会被包含了
[Rain, Tom]names[0::2] #后面的2是代表每隔一个元素就取一个
[Alex, Eric, Tom] names[::2] #和上句效果一样
[Alex, Eric, Tom] View Code 追加 names
[Alex, Tenglan, Eric, Rain, Tom, Amy]names.append(我是新来的)names
[Alex, Tenglan, Eric, Rain, Tom, Amy, 我是新来的] View Code 插入 names
[Alex, Tenglan, Eric, Rain, Tom, Amy, 我是新来的]names.insert(2,强行从Eric前面插入)names
[Alex, Tenglan, 强行从Eric前面插入, Eric, Rain, Tom, Amy, 我是新来的] names.insert(5,从eric后面插入试试新姿势)names
[Alex, Tenglan, 强行从Eric前面插入, Eric, Rain, 从eric后面插入试试新姿势, Tom, Amy, 我是新来的] View Code 修改 names
[Alex, Tenglan, 强行从Eric前面插入, Eric, Rain, 从eric后面插入试试新姿势, Tom, Amy, 我是新来的]names[2] 该换人了names
[Alex, Tenglan, 该换人了, Eric, Rain, 从eric后面插入试试新姿势, Tom, Amy, 我是新来的] View Code 删除 del names[2] names
[Alex, Tenglan, Eric, Rain, 从eric后面插入试试新姿势, Tom, Amy, 我是新来的]del names[4]names
[Alex, Tenglan, Eric, Rain, Tom, Amy, 我是新来的]names.remove(Eric) #删除指定元素names
[Alex, Tenglan, Rain, Tom, Amy, 我是新来的]names.pop() #删除列表最后一个值
我是新来的names
[Alex, Tenglan, Rain, Tom, Amy] View Code 扩展 names
[Alex, Tenglan, Rain, Tom, Amy]b [1,2,3]names.extend(b)names
[Alex, Tenglan, Rain, Tom, Amy, 1, 2, 3] View Code 拷贝 names
[Alex, Tenglan, Rain, Tom, Amy, 1, 2, 3] name_copy names.copy()name_copy
[Alex, Tenglan, Rain, Tom, Amy, 1, 2, 3] View Code 统计 names
[Alex, Tenglan, Amy, Tom, Amy, 1, 2, 3]names.count(Amy)
2 View Code 排序翻转 names
[Alex, Tenglan, Amy, Tom, Amy, 1, 2, 3]names.sort() #排序
Traceback (most recent call last):File stdin, line 1, in module
TypeError: unorderable types: int() str() #3.0里不同数据类型不能放在一起排序了擦names[-3] 1names[-2] 2names[-1] 3names
[Alex, Amy, Amy, Tenglan, Tom, 1, 2, 3]names.sort()names
[1, 2, 3, Alex, Amy, Amy, Tenglan, Tom] names.reverse() #反转names
[Tom, Tenglan, Amy, Amy, Alex, 3, 2, 1] View Code 获取下标 names
[Tom, Tenglan, Amy, Amy, Alex, 3, 2, 1]names.index(Amy)
2 #只返回找到的第一个下标 View Code 元组 元组其实跟列表差不多也是存一组数只不是它一旦创建便不能再修改所以又叫只读列表 语法 names (alex,jack,eric) 它只有2个方法一个是count,一个是index完毕。 2. 字符串操作 n3_arg
{name: alex, age: 33}n3
my name is {name} and age is {age}n3.format_map(n3_arg)
my name is alex and age is 33 n4.ljust(40,-)
Hello 2orld-----------------------------n4.rjust(40,-)
-----------------------------Hello 2orld s Hello World!p str.maketrans(abcdefg,3!#$%^)s.translate(p)
H$llo Worl#! bddefdsdff_哈哈 b.isidentifier() #检测一段字符串可否被当作标志符即是否符合变量命名规则
True View Code 3. 字典操作 字典一种key - value 的数据类型使用就像我们上学用的字典通过笔划、字母来查对应页的详细内容。 key-value对 特性无顺序去重查询速度快比列表快多了比list占用内存多为什么会查询速度会快呢因为他是hash类型的那什么是hash呢 哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入在计算上是不可能的所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法 dict会把所有的key变成hash 表然后将这个表进行排序这样你通过data[key]去查data字典中一个key的时候python会先把这个key hash成一个数字然后拿这个数字到hash表中看没有这个数字 如果有拿到这个key在hash表中的索引拿到这个索引去与此key对应的value的内存地址那取值就可以了。 语法: info {stu1101: TengLan Wu,stu1102: LongZe Luola,stu1103: XiaoZe Maliya,
} 字典的特性 dict是无序的key必须是唯一的,so 天生去重增加 info[stu1104] 苍井空info
{stu1102: LongZe Luola, stu1104: 苍井空, stu1103: XiaoZe Maliya, stu1101: TengLan Wu} View Code 修改 info[stu1101] 武藤兰info
{stu1102: LongZe Luola, stu1103: XiaoZe Maliya, stu1101: 武藤兰} View Code 删除 info
{stu1102: LongZe Luola, stu1103: XiaoZe Maliya, stu1101: 武藤兰}info.pop(stu1101) #标准删除姿势
武藤兰info
{stu1102: LongZe Luola, stu1103: XiaoZe Maliya}del info[stu1103] #换个姿势删除info
{stu1102: LongZe Luola}info {stu1102: LongZe Luola, stu1103: XiaoZe Maliya}info
{stu1102: LongZe Luola, stu1103: XiaoZe Maliya} #随机删除info.popitem()
(stu1102, LongZe Luola)info
{stu1103: XiaoZe Maliya} View Code 查找 info {stu1102: LongZe Luola, stu1103: XiaoZe Maliya}stu1102 in info #标准用法
Trueinfo.get(stu1102) #获取
LongZe Luolainfo[stu1102] #同上但是看下面
LongZe Luolainfo[stu1105] #如果一个key不存在就报错get不会不存在只返回None
Traceback (most recent call last):File stdin, line 1, in module
KeyError: stu1105 View Code 多级字典嵌套及操作 av_catalog {欧美:{www.youporn.com: [很多免费的,世界最大的,质量一般],www.pornhub.com: [很多免费的,也很大,质量比yourporn高点],letmedothistoyou.com: [多是自拍,高质量图片很多,资源不多,更新慢],x-art.com:[质量很高,真的很高,全部收费,屌比请绕过]},日韩:{tokyo-hot:[质量怎样不清楚,个人已经不喜欢日韩范了,听说是收费的]},大陆:{1024:[全部免费,真好,好人一生平安,服务器在国外,慢]}
}av_catalog[大陆][1024][1] ,可以用爬虫爬下来
print(av_catalog[大陆][1024])
#ouput
[全部免费,真好,好人一生平安, 服务器在国外,慢,可以用爬虫爬下来] View Code 其它姿势 #valuesinfo.values()
dict_values([LongZe Luola, XiaoZe Maliya])#keysinfo.keys()
dict_keys([stu1102, stu1103])#setdefaultinfo.setdefault(stu1106,Alex)
Alexinfo
{stu1102: LongZe Luola, stu1103: XiaoZe Maliya, stu1106: Alex}info.setdefault(stu1102,龙泽萝拉)
LongZe Luolainfo
{stu1102: LongZe Luola, stu1103: XiaoZe Maliya, stu1106: Alex}#update info
{stu1102: LongZe Luola, stu1103: XiaoZe Maliya, stu1106: Alex}b {1:2,3:4, stu1102:龙泽萝拉}info.update(b)info
{stu1102: 龙泽萝拉, 1: 2, 3: 4, stu1103: XiaoZe Maliya, stu1106: Alex}#items
info.items()
dict_items([(stu1102, 龙泽萝拉), (1, 2), (3, 4), (stu1103, XiaoZe Maliya), (stu1106, Alex)])#通过一个列表生成默认dict,有个没办法解释的坑少用吧这个dict.fromkeys([1,2,3],testd)
{1: testd, 2: testd, 3: testd} View Code 循环dict #方法1
for key in info:print(key,info[key])#方法2
for k,v in info.items(): #会先把dict转成list,数据里大时莫用print(k,v) View Code 程序练习 程序: 三级菜单 要求: 打印省、市、县三级菜单可返回上一级可随时退出程序 menu {北京:{海淀:{五道口:{soho:{},网易:{},google:{}},中关村:{爱奇艺:{},汽车之家:{},youku:{},},上地:{百度:{},},},昌平:{沙河:{老男孩:{},北航:{},},天通苑:{},回龙观:{},},朝阳:{},东城:{},},上海:{闵行:{人民广场:{炸鸡店:{}}},闸北:{火车战:{携程:{}}},浦东:{},},山东:{},
}exit_flag False
current_layer menulayers [menu]while not exit_flag:for k in current_layer:print(k)choice input(:).strip()if choice b:current_layer layers[-1]#print(change to laster, current_layer)layers.pop()elif choice not in current_layer:continueelse:layers.append(current_layer)current_layer current_layer[choice] View Code 4.集合操作 集合是一个无序的不重复的数据组合它的主要作用如下 去重把一个列表变成集合就自动去重了关系测试测试两组数据之前的交集、差集、并集等关系常用操作 s set([3,5,9,10]) #创建一个数值集合 t set(Hello) #创建一个唯一字符的集合
a t | s # t 和 s的并集 b t s # t 和 s的交集 c t – s # 求差集项在t中但不在s中 d t ^ s # 对称差集项在t或s中但不会同时出现在二者中 基本操作 t.add(x) # 添加一项 s.update([10,37,42]) # 在s中添加多项 使用remove()可以删除一项 t.remove(H) len(s)
set 的长度 x in s
测试 x 是否是 s 的成员 x not in s
测试 x 是否不是 s 的成员 s.issubset(t)
s t
测试是否 s 中的每一个元素都在 t 中 s.issuperset(t)
s t
测试是否 t 中的每一个元素都在 s 中 s.union(t)
s | t
返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t)
s t
返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t)
s - t
返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t)
s ^ t
返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy()
返回 set “s”的一个浅复制 View Code a {1,2,3,4}b {3,4,5,6}a
{1, 2, 3, 4}type(a)
class seta.symmetric_difference(b)
{1, 2, 5, 6}b.symmetric_difference(a)
{1, 2, 5, 6}a.difference(b)
{1, 2}a.union(b)
{1, 2, 3, 4, 5, 6}a.issu
a.issubset( a.issuperset(a.issubset(b)
False View Code 转载于:https://www.cnblogs.com/ld1977/p/6125518.html