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]

你可能感兴趣的:(list,String,python)