Python论坛  - 讨论区

标题:[python-chinese] 衔接

2006年10月03日 星期二 15:41

linda.s samrobertsmith在gmail.com
星期二 十月 3 15:41:05 HKT 2006

(a,b),(a,c),(c,d),(d,e),(b,e)代表这些字母一一相邻,
怎么把这些字母衔接起来, 成为(b,a,c,d,e,b)?

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月03日 星期二 16:31

makeyunbad makeyunbad在gmail.com
星期二 十月 3 16:31:45 HKT 2006

2006/10/3, linda. s <samrobertsmith在gmail.com>:
> (a,b),(a,c),(c,d),(d,e),(b,e)代表这些字母一一相邻,
> 怎么把这些字母衔接起来, 成为(b,a,c,d,e,b)?
> _______________________________________________

转换成list操作比较方便吧:
>>> a = ['b', 'a']
>>> for i in [['a', 'c'], ['c', 'd'], ['d', 'e']]:
... 	i.remove(a[-1])
... 	a += i
... 	
>>> a
['b', 'a', 'c', 'd', 'e']

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月06日 星期五 16:06

linda.s samrobertsmith在gmail.com
星期五 十月 6 16:06:15 HKT 2006

On 10/3/06, makeyunbad <makeyunbad在gmail.com> wrote:
> 2006/10/3, linda. s <samrobertsmith在gmail.com>:
> > (a,b),(a,c),(c,d),(d,e),(b,e)代表这些字母一一相邻,
> > 怎么把这些字母衔接起来, 成为(b,a,c,d,e,b)?
> > _______________________________________________
>
> 转换成list操作比较方便吧:
> >>> a = ['b', 'a']
> >>> for i in [['a', 'c'], ['c', 'd'], ['d', 'e']]:
> ...     i.remove(a[-1])
> ...     a += i
> ...
> >>> a
> ['b', 'a', 'c', 'd', 'e']

如果是[['a', 'c'],  ['d', 'e'],['c', 'd']],
就报错了.虽然['b', 'a', 'c', 'd', 'e']是希望被得到的.

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月06日 星期五 16:41

aminic.python aminic.python在163.com
星期五 十月 6 16:41:30 HKT 2006

(a,b),(a,c),(c,d),(d,e),(b,e)代表这些字母一一相邻,
> > 怎么把这些字母衔接起来, 成为(b,a,c,d,e,b)?
思路:
掐头:a不要
去尾:e不要
那就是:b),(a,c),(c,d),(d,e),(b,

循环:(a,c),(c,d),(d,e)
取出第一个字符就可以了.linkstr+=i[0]
连接头字符尾字符

完毕

-----邮件原件-----
发件人: python-chinese-bounces在lists.python.cn
[mailto:python-chinese-bounces在lists.python.cn] 代表 linda.s
发送时间: 2006年10月6日 16:06
收件人: python-chinese在lists.python.cn
主题: Re: [python-chinese] 衔接

On 10/3/06, makeyunbad <makeyunbad在gmail.com> wrote:
> 2006/10/3, linda. s <samrobertsmith在gmail.com>:
> > (a,b),(a,c),(c,d),(d,e),(b,e)代表这些字母一一相邻,
> > 怎么把这些字母衔接起来, 成为(b,a,c,d,e,b)?
> > _______________________________________________
>
> 转换成list操作比较方便吧:
> >>> a = ['b', 'a']
> >>> for i in [['a', 'c'], ['c', 'd'], ['d', 'e']]:
> ...     i.remove(a[-1])
> ...     a += i
> ...
> >>> a
> ['b', 'a', 'c', 'd', 'e']

如果是[['a', 'c'],  ['d', 'e'],['c', 'd']],
就报错了.虽然['b', 'a', 'c', 'd', 'e']是希望被得到的.
_______________________________________________
python-chinese
Post: send python-chinese在lists.python.cn
Subscribe: send subscribe to python-chinese-request在lists.python.cn
Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月06日 星期五 22:10

makeyunbad makeyunbad在gmail.com
星期五 十月 6 22:10:47 HKT 2006

2006/10/6, linda. s <samrobertsmith在gmail.com>:
> On 10/3/06, makeyunbad <makeyunbad在gmail.com> wrote:
> > 2006/10/3, linda. s <samrobertsmith在gmail.com>:
> > > (a,b),(a,c),(c,d),(d,e),(b,e)代表这些字母一一相邻,
> > > 怎么把这些字母衔接起来, 成为(b,a,c,d,e,b)?
> > > _______________________________________________
> >
> > 转换成list操作比较方便吧:
> > >>> a = ['b', 'a']
> > >>> for i in [['a', 'c'], ['c', 'd'], ['d', 'e']]:
> > ...     i.remove(a[-1])
> > ...     a += i
> > ...
> > >>> a
> > ['b', 'a', 'c', 'd', 'e']
>
> 如果是[['a', 'c'],  ['d', 'e'],['c', 'd']],
> 就报错了.虽然['b', 'a', 'c', 'd', 'e']是希望被得到的.
> _______________________________________________


>>> a = ['b', 'a']
>>> b = ('a', 'c' ) + ('d', 'e') + ('c', 'd')
>>> b = list(b)
>>> while b:
... 	pos = b.index(a[-1])
... 	if pos % 2 == 0:
... 		a.append(b[pos + 1])
... 		b.pop(pos)
... 		b.pop(pos)
... 	else:
... 		a.append(b[pos - 1])
... 		b.pop(pos - 1)
... 		b.pop(pos - 1)
...
'a'
'c'
'c'
'd'
'd'
'e'
>>> a
['b', 'a', 'c', 'd', 'e']

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号