列表和字串可以互相轉化,但是列錶轉換為字串時,容易出錯。如下:
>>> a='asd'>>> b=list(a)>>> b['a', 's', 'd']>>> a'asd'>>> c=str(b)>>> c"['a', 's', 'd']">>>
一般用一個迴圈把列表的每一個元素轉化為字串再相連,得到一個字串:
下面省略迴圈:
>>> b['a', 's', 'd']>>> str(b[1])'s'>>> c=str(b[0])+str(b[1])+str(b[2])>>> c'asd'>>>
2.數字和字串是可以進行轉換,例如:將數字各位元進行平方求和。
def jisuan(n): #計算數字中每單個數字平方之和 n=str(n) x=0 for i in range(len(n)): x=x+pow(int(n[i]),2) #pow(a,b) a^b return x
3.列表不可以直接轉換數字,但可以通過字串,數字可以直接轉換為列表,如:
>>> a=12>>> b=[]>>> b=b+[a]>>> b[12]
4.綜合例子:
題目:加一 :
http://www.lintcode.com/zh-cn/problem/plus-one/
給定一個非負數,表示一個數字數組,在該數的基礎上+1,返回一個新的數組。
該數字按照大小進行排列,最大的數在列表的最前面。
範例:給定 [1,2,3] 表示 123, 返回 [1,2,4].
給定 [9,9,9] 表示 999, 返回 [1,0,0,0].
代碼:
class Solution: # @param {int[]} digits a number represented as an array of digits # @return {int[]} the result def plusOne(self, digits): # Write your code here if digits==[]: return [1] a='' for i in digits: #列表到字串 a=a+str(i) a=int(a)+1 #字串到int 進行加減乘除 c=[] for i in str(a): #數字 到列表 c=c+[int(i)] return c