作者KagiJhou (Kagi)
看板Python
标题Re: [问题]没头绪的一个问题...
时间Tue Apr 13 21:17:54 2010
※ 引述《apua (Apua)》之铭言:
: # 以下使用python2.x的语法
: str=raw_input("string:") # 假设为abc
: pos=raw_input("possition:") # 假设为312
: z = zip(str,pos)
: # ^^^^^^^^^^^
: # z会是一个list,它的元素是pos对应str的tuple如下:
: # [('a', '3'), ('b', '1'), ('c', '2')]
: z.sort(key= (lambda key:key[1]) )
: # ^^^^^^^^^^^^^^^^^^^
: # key需要一组函数做排序的条件,也就是上面标记的部份
: # 而被该函数引入的key就是z的每一个元素
: # 所以最後z的排序结果会依据['3','1','2']的排序结果
: print "".join([s[0] for s in z])
: # 将z最後排序的结果抽出来并合并
试着用3.12的方式写写看
st=input("string:")
pos=input("possition:")
z = list(zip(st,pos))
# 指定z是list
z.sort(key= (lambda key:key[1]) )
print ("".join([s[0] for s in z]))
小弟之前自己用了一个方法:
a='abc'
n=[3,1,2]
b=''
for i in range(1,len(n)+1):
c=n.index(i)
b=b+a[c:c+1]
不过只要重覆执行很多次就会很久....
--
未来周记
就算到未来,我还是要骗你们!
http://www.wretch.cc/blog/billypan101/15973147
http://www.wretch.cc/blog/billypan101/15991922
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.117.194.168