热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Day2列表、字典、集合操作详解

本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。


Day2-列表、字典、集合

作者:矮哥

归档:学习笔记

2017/01/28


目 录

1.1 列表、元组操作... 1

1.2 字符串操作... 4

1.3 字典操作... 5

1.4 集合操作... 9

1.5 文件操作... 9

1.6 字符编码与转码... 11

1.1 列表、元组操作

列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

定义列表

技术分享技术分享

1 >>> name = ["Aige","Jackson","Tom"]
2
3 >>> name
4
5 [‘Aige‘, ‘Jackson‘, ‘Tom‘]
6
7 >>>
8

view code

通过下标访问列表中的元素,下标从0开始计数

技术分享技术分享

1 >>> name[0]
2
3 ‘Aige‘
4
5 >>> name[1]
6
7 ‘Jackson‘
8
9 >>> name[2]
10
11 ‘Tom‘
12
13 >>> name[3] #没值就会报错
14
15 Traceback (most recent call last):
16
17 File "", line 1, in <module>
18
19 IndexError: list index out of range
20
21 >>>
22

view code

切片:取多个元素

技术分享技术分享

1 >>> name = ["Aige","Jackson","Tom","Can","David"]
2
3 >>> name[1:3] #取下标1至下标3之间的数字,包括1,不包括3
4
5 [‘Jackson‘, ‘Tom‘]
6
7 >>> name[1:-1] #取下标1至-1的值,不包括-1
8
9 [‘Jackson‘, ‘Tom‘, ‘Can‘]
10
11 >>> name[0:3]
12
13 [‘Aige‘, ‘Jackson‘, ‘Tom‘]
14
15 >>> name[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
16
17 [‘Aige‘, ‘Jackson‘, ‘Tom‘]
18
19 >>> name[3:] #如果想取最后一个,必须不能写-1,只能这么写
20
21 [‘Can‘, ‘David‘]
22
23 >>> name[3:-1] #这样-1就不会被包含了
24
25 [‘Can‘]
26
27 >>> name[0::2] #后面的2是代表,每隔一个元素,就取一个
28
29 [‘Aige‘, ‘Tom‘, ‘David‘]
30
31 >>> name[::2] #和上句效果一样
32
33 [‘Aige‘, ‘Tom‘, ‘David‘]
34

view code

追加

技术分享技术分享

1 >>> names = ["Aige","Jackson","Tom","Can","David"]
2
3 >>> names.append("I am new friend")
4
5 >>> names
6
7 [‘Aige‘, ‘Jackson‘, ‘Tom‘, ‘Can‘, ‘David‘, ‘I am new friend‘]
8
9 >>>
10

view code

插入

技术分享技术分享

1 >>> names
2
3 [‘Aige‘, ‘Jackson‘, ‘Tom‘, ‘Can‘, ‘David‘, ‘I am new friend‘]
4
5 >>> names.insert(2,"强行从Jackson后面插入")
6
7 >>> names
8
9 [‘Aige‘, ‘Jackson‘, ‘强行从Jackson后面插入‘, ‘Tom‘, ‘Can‘, ‘David‘, ‘I am new friend‘]
10
11 >>>
12

view code

修改

技术分享技术分享

1 >>> names
2
3 [‘Aige‘, ‘Jackson‘, ‘强行从Jackson后面插入‘, ‘Tom‘, ‘Can‘, ‘David‘, ‘I am new friend‘]
4
5 >>> names[2]="谁叫你插的,走开"
6
7 >>> names
8
9 [‘Aige‘, ‘Jackson‘, ‘谁叫你插的,走开‘, ‘Tom‘, ‘Can‘, ‘David‘, ‘I am new friend‘]
10
11 >>>
12

view code

删除

技术分享技术分享

1 >>> names
2
3 [‘Aige‘, ‘Jackson‘, ‘谁叫你插的,走开‘, ‘Tom‘, ‘Can‘, ‘David‘, ‘I am new friend‘]
4
5 >>> del names[2] #指定位置删除
6
7 >>> names
8
9 [‘Aige‘, ‘Jackson‘, ‘Tom‘, ‘Can‘, ‘David‘, ‘I am new friend‘]
10
11 >>> names.remove("Tom") #指定元素删除
12
13 >>> names
14
15 [‘Aige‘, ‘Jackson‘, ‘Can‘, ‘David‘, ‘I am new friend‘]
16
17 >>> names.pop() #删除最后一个
18
19 ‘I am new friend‘
20
21 >>> names
22
23 [‘Aige‘, ‘Jackson‘, ‘Can‘, ‘David‘]
24
25 >>>
26

view code

扩展

技术分享技术分享

1 >>> names
2
3 [‘Aige‘, ‘Jackson‘, ‘Can‘, ‘David‘]
4
5 >>> b = ["扩展","I am",1,2,3]
6
7 >>> names.extend(b)
8
9 >>> names
10
11 [‘Aige‘, ‘Jackson‘, ‘Can‘, ‘David‘, ‘扩展‘, ‘I am‘, 1, 2, 3]
12
13 >>>
14

view code

拷贝

技术分享技术分享

1 >>> names = ["aige",["waihao","can"]]
2
3 >>> names
4
5 [‘aige‘, [‘waihao‘, ‘can‘]]
6
7 >>> names2 = names.copy() #浅COPY,只拷贝了一层
8
9 >>> names2
10
11 [‘aige‘, [‘waihao‘, ‘can‘]]
12
13 >>> names[0] = "AIGE"
14
15 >>> names
16
17 [‘AIGE‘, [‘waihao‘, ‘can‘]]
18
19 >>> names2
20
21 [‘aige‘, [‘waihao‘, ‘can‘]]
22
23 >>> names[1][0] = "外号"
24
25 >>> names
26
27 [‘AIGE‘, [‘外号‘, ‘can‘]]
28
29 >>> names2
30
31 [‘aige‘, [‘外号‘, ‘can‘]]
32
33 >>>
34
35 import copy
36
37 names4 = copy.copy(names)
38
39 names[1] = "CAN"
40
41 print(names,names4) #这个也是浅copy
42
43 names5 = copy.deepcopy(names)
44
45 names[0] = "哈哈"
46
47 names[2][0] = "阿雷克斯"
48
49 print(names,names5) #深copy 一般不用‘‘‘
50

view code

统计

技术分享技术分享

1 >>> count_list = [1,2,1,2,3,4,5,7,1,1,0]
2
3 >>> count_list.count("1")
4
5 0
6
7 >>> count_list.count(1)
8
9 4
10
11 >>>
12

view code

排序和翻转

技术分享技术分享

1 >>> names = ["aige","Can","Jack","Tom"]
2
3 >>> names
4
5 [‘aige‘, ‘Can‘, ‘Jack‘, ‘Tom‘]
6
7 >>> names.sort() #特别提醒,不同类型数据,不能排序
8
9 >>> names
10
11 [‘Can‘, ‘Jack‘, ‘Tom‘, ‘aige‘] #按照ASCII排序
12
13 >>> names.reverse()
14
15 >>> names
16
17 [‘aige‘, ‘Tom‘, ‘Jack‘, ‘Can‘]
18
19 >>>
20

view code

获取下标(索引)

技术分享技术分享

1 >>> names
2
3 [‘aige‘, ‘Tom‘, ‘Jack‘, ‘Can‘]
4
5 >>> names.index("Jack")
6
7 2
8
9 >>>
10

view code

元组

元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

语法

1 names = ("Aige","jack","eric") #中括号换小括号,既是元组


1.2 字符串操作

特性:不可修改

技术分享技术分享

1 name = "my name is aige {names}"
2
3 print(name.capitalize()) #首字母大写
4
5 print(name.count("a")) #统计字母个数
6
7 print(name.center(20,"-"))
8
9 print(name.endswith("e")) #以什么结尾
10
11 print(name.find("aige")) #字符的索引,字符串可以切片
12
13 print(name.format(names="AIGE"))
14
15 print(name.isalnum()) #包含英文字符和阿拉伯数字
16
17 print(name.isalpha()) #纯英文字符
18
19 print(name.isdigit()) #是不是整数
20
21 print(name.isidentifier()) #判断是不是合法的标识符 是不是合法变量名
22
23 print(name.islower())
24
25 print(name.isnumeric()) #只有数字,不能有小数点
26
27 print(name.istitle()) #每个字母开头大写
28
29 print(name.isupper()) #大写
30
31 print(‘+‘.join([‘1‘,‘2‘,‘3‘]))
32
33 print( name.ljust(50,"*") ) #不够50字节用*号补上
34
35 print( name.rjust(50,"@"))
36
37 print( name.lower())
38
39 print( name.upper())
40
41 print( "\nalex\n".lstrip()) #去掉左边的空格和回车
42
43 print( "\nalex\n".rstrip()) #去右边
44
45 print("\n alex \n".strip()) #去两边
46
47 p = str.maketrans("abcdef","123456")
48
49 print("aige Zhang".translate(p)) #一一对应的换,有点类似shell:tr命令
50
51 print("aige aige".replace("a","A")) #替换
52
53 print("aige aige".replace("a","A",1)) #替换一个
54
55 print("aige aige".rfind(‘e‘)) #找到最后一个被找到的地方
56
57 print("bingo nice gogo".split()) #字符串转成列表
58
59 print("bingo \n hahaha".splitlines()) #换行符换成列表
60
61 print("aige".startswith("a"))
62
63 print("Aige zhang".swapcase()) #大小写转换
64
65 print("aige can".title())
66
67 print("aige aige ".zfill(30))
68

view code

1.3 字典操作

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

语法:

技术分享技术分享

1 info = {
2
3 ‘stu001‘:"aige", #键值和value对应关系
4
5 ‘stu002‘:"can", #通过key查找value
6
7 ‘stu003‘:"happy", #字典是无序
8
9 }
10

view code

字典的特性:

l dict是无序的

l key必须是唯一的,so 天生去重

增加

1 >>> names = {"stu001":"Aige","stu002":"Jack","stu003":"Tom"}
2
3 >>> names
4
5 {‘stu001‘: ‘Aige‘, ‘stu002‘: ‘Jack‘, ‘stu003‘: ‘Tom‘}
6

修改

1 >>> names["stu004"] = "新人"
2
3 >>> names
4
5 {‘stu001‘: ‘Aige‘, ‘stu002‘: ‘Jack‘, ‘stu003‘: ‘Tom‘, ‘stu004‘: ‘新人‘}
6
7 >>> names["stu004"] = "已经认识了:张三"
8
9 >>> names
10
11 {‘stu001‘: ‘Aige‘, ‘stu002‘: ‘Jack‘, ‘stu003‘: ‘Tom‘, ‘stu004‘: ‘已经认识了:张三‘}
12

删除

技术分享技术分享

1 >>> names.pop("stu004")
2
3 ‘已经认识了:张三‘
4
5 >>> names
6
7 {‘stu001‘: ‘Aige‘, ‘stu002‘: ‘Jack‘, ‘stu003‘: ‘Tom‘}
8
9 >>> names
10
11 {‘stu001‘: ‘Aige‘, ‘stu002‘: ‘Jack‘, ‘stu003‘: ‘Tom‘}
12
13 >>> del names["stu003"]
14
15 >>> names
16
17 {‘stu001‘: ‘Aige‘, ‘stu002‘: ‘Jack‘}
18
19 >>>
20
21 >>> names
22
23 {‘stu001‘: ‘Aige‘, ‘stu002‘: ‘Jack‘, ‘stu003‘: ‘Jack‘, ‘stu004‘: ‘Tom‘, ‘stu005‘: ‘Harry‘, ‘stu006‘: ‘HengYuansan‘}
24
25 >>> names
26
27 {‘stu001‘: ‘Aige‘, ‘stu002‘: ‘Jack‘, ‘stu003‘: ‘Jack‘, ‘stu004‘: ‘Tom‘, ‘stu005‘: ‘Harry‘, ‘stu006‘: ‘HengYuansan‘}
28
29 >>> names.popitem() ##随机删
30
31 (‘stu006‘, ‘HengYuansan‘)
32
33 >>> names.popitem()
34
35 (‘stu005‘, ‘Harry‘)
36
37 >>> names.popitem()
38
39 (‘stu004‘, ‘Tom‘)
40
41 >>>
42

view code

查找

技术分享技术分享

1 >>> info = {‘stu002‘: ‘LongZe Luola‘, ‘stu003‘: ‘XiaoZe Maliya‘}
2
3 >>> "stu002" in info
4
5 True
6
7 >>> info.get("stu002") #没有key值也不会报错
8
9 ‘LongZe Luola‘
10
11 >>> info["stu002"]
12
13 ‘LongZe Luola‘
14
15 >>> info["stu004"] #没有key值就会报错
16
17 Traceback (most recent call last):
18
19 File "", line 1, in <module>
20
21 KeyError: ‘stu004‘
22
23 >>> info.get("stu004")
24
25 >>>
26

view code

多级字典嵌套及操作

技术分享技术分享

1 av_catalog = {
2
3 "欧美":{
4
5 "www.youporn.com": ["很多免费的,世界最大的","质量一般"],
6
7 "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
8
9 "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
10
11 "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
12
13 },
14
15 "日韩":{
16
17 "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
18
19 },
20
21 "大陆":{
22
23 "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
24
25 }
26
27 }
28
29 av_catalog["大陆"]["1024"][1] += ",可以用爬虫爬下来"
30
31 print(av_catalog["大陆"]["1024"])
32
33 #ouput
34
35 [‘全部免费,真好,好人一生平安‘, ‘服务器在国外,慢,可以用爬虫爬下来‘]
36
37 #嵌套了很多层 key尽量不写中文
38
39 av_catalog["大陆"]["1024"][1] += ",可以用爬虫爬下来"
40
41 print(av_catalog["大陆"]["1024"])
42
43 #ouput[‘全部免费,真好,好人一生平安‘, ‘服务器在国外,慢,可以用爬虫爬下来‘]
44
45 print(av_catalog.values()) #打印所有得值 不包括key值
46
47 print(av_catalog.keys()) #打印所有得key
48
49 av_catalog.setdefault("taiwan",{"www.baidu.com":[1,2]}) #字典里有的不改变。没有的改变
50
51 print(av_catalog)
52
53 av_catalog.setdefault("taiwan",{"haha":[000]}) #字典里有
54
55 print(av_catalog)
56

view code

程序练习

程序: 三级菜单

要求:

1. 打印省、市、县三级菜单

2. 可返回上一级

3. 可随时退出程序

技术分享技术分享

1 #!/usr/bin/env python
2 # _*_ coding:utf-8 _*_
3
4 menu = {
5 ‘北京‘:{
6 ‘海淀‘:{
7 ‘五道口‘:{
8 ‘soho‘:{},
9 ‘网易‘:{},
10 ‘google‘:{}
11 },
12 ‘中关村‘:{
13 ‘爱奇艺‘:{},
14 ‘汽车之家‘:{},
15 ‘youku‘:{},
16 },
17 ‘上地‘:{
18 ‘百度‘:{},
19 },
20 },
21 ‘昌平‘:{
22 ‘沙河‘:{
23 ‘老男孩‘:{},
24 ‘北航‘:{},
25 },
26 ‘天通苑‘:{},
27 ‘回龙观‘:{},
28 },
29 ‘朝阳‘:{},
30 ‘东城‘:{},
31 },
32 ‘上海‘:{
33 ‘闵行‘:{
34 "人民广场":{
35 ‘炸鸡店‘:{}
36 }
37 },
38 ‘闸北‘:{
39 ‘火车战‘:{
40 ‘携程‘:{}
41 }
42 },
43 ‘浦东‘:{},
44 },
45 ‘山东‘:{},
46 }
47
48
49 exit_flag = False
50 current_layer = menu
51
52 layers = [menu]
53
54 while not exit_flag:
55 for k in current_layer:
56 print(k)
57 choice = input(">>:").strip()
58 if choice == "b":
59 current_layer = layers[-1]
60 #print("change to laster", current_layer)
61 layers.pop()
62 elif choice not in current_layer:continue
63 else:
64 layers.append(current_layer)
65 current_layer = current_layer[choice]

view code

1.4 集合操作

集合是一个无序的,不重复的数据组合,它的主要作用如下:

l 去重,把一个列表变成集合,就自动去重了

l 关系测试,测试两组数据之前的交集、差集、并集等关系

常用操作

技术分享技术分享

1 list_1 = [1,2,3,1,2,4,5,6]
2
3 list_2 = set(list_1)
4
5 list_3 = set([1,2,3,4,8,9,0])
6
7 print(list_2,type(list_2))
8
9 print(list_3,type(list_3))
10
11 print( list_2.intersection(list_3) ) #取交集
12
13 print( list_2 & list_3) #交集
14
15 #print( list_2.intersection_update(list_3)) #交集后给list_2赋值
16
17 print( list_2.union(list_3) ) #取并集
18
19 print( list_2 | list_3) #并集
20
21 print( list_2.difference(list_3) ) #差集
22
23 print( list_2 - list_3) #差集
24
25 print( list_3.difference(list_2) ) #差集
26
27 print( list_2.issubset(list_3)) #子集
28
29 list_4 = set([1,2])
30
31 print( list_4.issubset(list_1)) #4是1子集
32
33 print( list_2.symmetric_difference(list_3)) #对称差集 ,去掉了合集
34
35 print( list_2 ^ list_3) #对称差集
36
37 list_5 = set([10,15])
38
39 print(list_2.isdisjoint(list_5)) #没交集,返回True
40
41 list_5.add(999) #添加
42
43 print(list_5)
44
45 list_2.remove(3) #没值会报错
46
47 list_2.discard(3) #没值不会报错
48

view code

1.5 文件操作

对文件操作流程

1. 打开文件,得到文件句柄并赋值给一个变量

2. 通过句柄对文件进行操作

3. 关闭文件

现有文件如下

文件操作:

技术分享技术分享

1 #!/usr/bin/env python
2 # _*_ coding:utf-8 _*_
3
4 #data = open("aige",encoding="utf-8").read()
5 # f = open("aige",encoding="utf-8") #文件句柄,就是文件的内存对象
6 # data = f.read() #读到文件末尾
7 # data2 = f.read() #从末尾开始读。没有任何内容了
8 # print(data)
9 # print("-------------",data2)
10
11 # f = open("aige2","w",encoding="utf-8") #创建一个文件。覆盖之前的文件名了
12 #
13 # f.write("我爱北京天安门\n")
14 # f.write("天安门上太阳升")
15
16
17 # f = open("aige2","a",encoding="utf-8") #追加 #也不能读
18 # f.write("我爱北京天安门")
19 # f.close()
20 # f = open("aige",encoding="utf-8")
21 # print(f.readline()) #一行行的读
22 # print(f.readline())
23 # print(f.readline())
24 # print(f.readline())
25 # for i in range(5):
26 # print(f.readline())
27 # print(f.readlines()) #生成列表
28
29 # for index,line in enumerate(f.readlines()): # f.readlines()只适合读小文件 #取消打印第十行
30 # if index == 9:
31 # print("分割线----------------------")
32 # continue
33 # print(line.strip())
34 # count = 0
35 # for line in f: #效率高,比上面的高,上面是先加载整个文件到内存,下面是读一行删一行
36 # count += 1
37 # if count == 10:
38 # print("----------------")
39 # continue
40 # print(line)
41 # f = open("aige",encoding="utf-8")
42 # print(f.tell())
43 # f.read(5)
44 # print(f.tell())
45 # f.seek(0)
46 # print(f.tell())
47 # print(f.encoding)
48 # print(f.fileno()) #返回文件编号
49 # f.seekable() #判断文件是否可以跳转
50 # f.readable() #判断文件是否可读
51 # f.flush() #刷 把内存的写入硬盘
52 f = open("aige","a", encoding="utf-8")
53 # f.seek(10)
54 # f.truncate(100) #截断 无论seek到哪,都是从头开始截
55 f.close()
56
57
58
59

view code

打开文件的模式有:

r,只读模式(默认)。

w,只写模式。【不可读;不存在则创建;存在则删除内容;】

a,追加模式。【可读; 不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

r+,可读写文件。【可读;可写;可追加】

w+,写读

a+,同a

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

rU

r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

rb

wb

ab

1.6 字符编码与转码

http://www.cnblogs.com/yuanchenqi/articles/5956943.html


推荐阅读
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
author-avatar
anilshen_333
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有