string和int轉換,增強賦值語句,list的append和extend,字典的初始化和update,冒泡排序

python 的string和int互相轉換

string --> int

string s;

1、type.parse..
            float.Parse(s);
            Int32.Parse(s);
2/Convert.
            Convert.ToInt32(s);
3/強制顯示轉換
            int i=(int)s; 


int -->  string

slen = str(ilen)

增強賦值語句

增強賦值語句先是儘量原處修改,若不能在原處修改則新生成對象
>>> a = b = 1
>>> a += 1
>>> a, b
(2, 1)
>>> a = b = []
>>> a += [1, 2]
>>> a, b
([1, 2], [1, 2])
  1. 上面代碼第一次用多目標同值的時候引用的是同一個對象。
  2. 前者修改a只會對a影響而不會影響b,因爲整數是不支持原處修改的。
  3. 而後者對a修改後修改了原對象,因爲list是支持原處修改。

下面的代碼可以驗證:

>>> a, b
([], [])
>>> a = a + [1, 2]
>>> a, b
([1, 2], [])

增加賦值是原處修改的,而a = a + [1, 2]不是原處修改,所以a, b不同。


append()與extend()

list函數append與extend的區別:前者的參數可以是任何類型,把元素加入到list中;後者的參數必須是list類型,把它和原list合併。

>>> a = [1, 2, 3]
>>> a.append([4, 5])
>>> a
[1, 2, 3, [4, 5]]
>>> a.extend([4, 5])
>>> a
[1, 2, 3, [4, 5], 4, 5]

1 字典初始化

>>> d = dict(name='visaya', age=20)
>>> d
{'age': 20, 'name': 'visaya'}>>> d = dict(zip(['name', 'age'], ['visaya', 20]))
>>> d
{'age': 20, 'name': 'visaya'}#dict.fromkeys(listkeys, default=None) 把listkeys中的元素作爲key均賦值爲value,默認爲0 None>>> d = dict.fromkeys(['a', 'b'], 1)>>> d{'a': 1, 'b': 1}
>>> d = dict.fromkeys(['a', 'b'])
>>> d
{'a': None, 'b': None}


4.3 字典udpate()

D.update(E, **F) -> None.  Update D from dict/iterable E and F.
    If E has a .keys() method, does:     for k in E: D[k] = E[k]
    If E lacks .keys() method, does:     for (k, v) in E: D[k] = v
    In either case, this is followed by: for k in F: D[k] = F[k]

>>> d = dict(name='visaya', age=21)
>>> d1= {'age': 20, 'sex': 'male'}
>>> d2 = zip(['a', 'b'], [1, 2])

>>> d.update(d1)
>>> d
{'age': 20, 'name': 'visaya', 'sex': 'male'}


BubbleSort冒泡排序

num = [23,2,3,6,18,9,33,13,24,19]
for j in range(len(num))[::-1]:
    for i in range(j):
        if (i<len(num)-1):
            if (num[i] > num[i+1]):
                temp = num[i]
                del num[i]
                num.insert(i+1, temp)
print num


>>> a = [1, 2, 3]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章