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]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值