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])
- 上面代码第一次用多目标同值的时候引用的是同一个对象。
- 前者修改a只会对a影响而不会影响b,因为整数是不支持原处修改的。
- 而后者对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]))#dict.fromkeys(listkeys, default=None) 把listkeys中的元素作为key均赋值为value,默认为>>> d{'age': 20, 'name': 'visaya'}0None>>> 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]