【4858.com】队列操作,关于系列的

By admin in 4858.com on 2019年4月22日
 1 #include <stdio.h>
 2 #include <string.h>//添加字符串头文件
 3 
 4 int Subsequence(char s[], char t[]) 
 5 {
 6     int m,n,i,j;
 7     n = strlen(s);       //n表示序列S的长度
 8     m = strlen(t);       //m表示序列T的长度
 9     i=0;
10     j=0;
11     if (m>n)  
12     return 0;                         //T不是S的子序列
13     while ((i<m)&&(j<n))
14         {
15         if(t[i]==s[j])
16 //序列T中第i个元素与序列S中第j个元素相等
17             i=i+1;
18             j=j+1;
19            }
20    if (strstr(s,t)!=NULL)
21     return 1;      //T是S的子序列
22     return 0;
23 }
24 
25 
26 int main() 
27 {
28     int Subsequence(char s[], char t[]);
29     char s[30],t[30];
30     int n,m;
31     
32     printf("**************************************************\n"); 
33     printf("               子 序 列 判 定 算 法\n"); 
34     printf("**************************************************\n\n"); 
35 
36     printf("您要在多少组序列中进行判定,请输入(1~100):");  
37     scanf("%d",&n);
38     printf("\n");       
39     
40     m=1;
41     while(n--)  
42     {
43         
44         printf("请输入第%d组待匹配序列S:",m);  
45         scanf("%s",s); 
46         printf("请输入第%d组待匹配序列T:",m);  
47         scanf("%s",t); 
48         if(Subsequence(s,t))
49         printf("序列T(%s)是序列S(%s)的子序列。\n\n",t,s);  
50         else  
51         printf("序列T(%s)不是序列S(%s)的子序列。\n\n",t,s); 
52         m++; 
53     }
54 }  

Python中的体系包涵,字符串、列表、元组。本文介绍体系的通用操作。

队列是扶助 +* 操作的。通常 +
号两侧的行列由同样等级次序的数目所构成,在拼接的历程中,几个被操作的种类都不会被修改,Python
会新建三个包罗同样类型数据的队列来作为拼接的结果。
一经想要把多少个类别复制几份然后再拼凑起来,更敏捷的做法是利用 *

午夜就起床了本身和老爹母亲张三伯策动在国庆最后去青龙溪1趟。到了白虎溪已经是10点了,下了车我们上了个厕所,就起来前日的行程,那里的1根面相当的火,感到有诸多村寨版的。即使是最终一天,但今日的游客可能挺多的,一路上好多卖羝肉串烤串的,香味浓郁。我们赶到一家蟹黄汤包店,没吃过想尝试。得到手上看这么些不太相当大的包子感到没什么稀奇,里面包车型大巴汤汁许多亟需吸着吃,吸完后就剩下一层皮和局地蟹肉。感到味道相似。

4858.com 1

【4858.com】队列操作,关于系列的。一. 切开中的None

>>> s = 'abcdefg'
>>> for i in range(-1, -len(s), -1):
...     print s[:i]
... 
abcdef
abcde
abcd
abc
ab
a
>>> for i in [None] + range(-1, -len(s), -1):
...     print s[:i]
... 
abcdefg
abcdef
abcde
abcd
abc
ab
a
>>> s[::-1]
'gfedcba'
>>> 
>>> l = [1, 2, 3]
>>> l * 5
[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> 5 * 'abcd'
'abcdabcdabcdabcdabcd'

吃完大家就一路向下,那里除了有个别吃的还有有趣的卡牌游戏,丛林狩猎之类。阿爸很喜爱就玩了两三局,他的枪法算一般他打客车全速,为了得贰个娃儿就打了二局才够分数。张四叔望着感觉不错也融洽玩了八个发射游戏他打大巴非常的慢很稳差不多没发子弹都能打中。他很自在的得到了二个小熊。后来又遇上了1个玩耍的地方,认为上瘾似的阿爸和张叔伯又玩了壹局,老爸打地铁异常的快子弹突突的没了,张三伯相当慢很稳的一发多个稳打。阿爸200发都玩了,张大伯还有拾0发,后来张二叔也开始加快速度。最终他的分数异常高。玩了几把嬉戏后,时间已是1二点了我们准备去找个吃饭的地点,一路到来了河边,那里风景不错,一路上也有无数招揽生意的大家沿着顺着就来临她家,坐好地点计划点菜,今天人还不是太多,空着的案子或许有部分。吃完饭我们在河边周围喝会茶安息下,父亲和张四叔多个人一齐聊天,笔者和老妈壹只在一旁听听偶尔看看手提式有线电话机。说完话已是?早上三点半左右,准备再逛会就去彭山玩会,遇到一家古董店买了部分回想币。早晨的人变得不得了5川流不息的。我们卖了有的吃的打算去另2个地点去探访。因为彭山离那里也不远那里有三个历史神迹。到了这里后却发掘此处曾经不开放了,那时也1七点半左右我们就绸缪回家了。到了煎茶街吃了稀饭和凉菜后。就饱饱的回家了。

二. 类型调换

  • list(iter)
  • str(obj)
  • 4858.com,unicode(obj)
  • basestring()
  • tuple(iter)

但是,在对队列进行乘法的时候要求注意,借使种类里的要素是别的可变对象的引用的话,会现身不是意料的结果。

2017.10.7

③. 连串内建函数

  • enumerate(iter)
  • len(seq)
  • max(iter, key=None)
  • max(arg0, arg1,…,key=None)
  • min(iter, key=None)
  • min(arg0, arg1,…,key=None)
  • reversed(seq)
  • sorted(iter, func=None, key=None, reverse=False)
  • sum(seq, init=0)
  • zip([it0, it1,…,itN])

>>> for i in enumerate(s):
...     print i
... 
(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')
(4, 'e')
(5, 'f')
(6, 'g')
>>> len(s)
7
>>> max(s)
'g'
>>> min(s)
'a'
>>> for i in reversed(s):
...     print i
... 
g
f
e
d
c
b
a
>>> sorted(s, reverse=True)
['g', 'f', 'e', 'd', 'c', 'b', 'a']
>>> l = range(7)
>>> l
[0, 1, 2, 3, 4, 5, 6]
>>> sum(l)
21
>>> zip(s,l)
[('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4), ('f', 5), ('g', 6)]
>>> 
>>> weird_board = [['_'] * 3] * 3 
>>> weird_board
[['_', '_', '_'], ['_', '_', '_'], ['_', '_', '_']]
>>> weird_board[1][2] = 'O' 
>>> weird_board
# 可以看出对其中一处的修改影响到了其他处,事实上里面的3个列表指向的是同一个引用
[['_', '_', 'O'], ['_', '_', 'O'], ['_', '_', 'O']]

地方的代码等同于上面包车型地铁代码

row=['_'] * 3
board = []
for i in range(3):
    board.append(row) 

上边是毋庸置疑的代码演示

 board = [['_'] * 3 for i in range(3)]

地点的代码等同于上面包车型客车代码

board = []
for i in range(3):
    row=['_'] * 3
    board.append(row)

增量赋值运算符 +=*= 的变现取决于它们的率先个操作对象。上边只谈谈
+=*= 类似。
+=背后的独特形式是__iadd__(就地加法),但即便类未有实现这么些办法,那么会退一步调用__add__
另外对于不可变体系不协理上述的增量操作。
从上边包车型地铁事例中得以看出,可变连串在运用增量乘法后ID不改变,新成分追加到列表上。可是不得变系列元组在行使增量乘法后,成立了新的元组。(当然str是个不等,CPython对其优化过,举行增量操作时并不会发生新的不可变系列)

l = [1, 2, 3]
print(id(l))
l += [4, 5, 6]
print(id(l))

l = (1, 2, 3)
print(id(l))
l += (4, 5, 6)
print(id(l))

47609336
47609336
9051392
9071280

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有