python 在线

936Python 列表(List)

#!/usr/bin/python
# -*- coding: UTF-8 -*-

list01 = ['facesoho', 786, 2.23, 'john', 70.2]
list02 = [123, 'john']

print list01
print list02

# 列表截取

print list01[0]
print list01[-1]
print list01[0:3]

# 列表重复

print list01 * 2

# 列表组合

print list01 + list02

# 获取列表长度

print len(list01)

# 删除列表元素

del list02[0]
print list02

# 元素是否存在于列表中

print 'john' in list02  # True

# 迭代

for i in list01:
    print i

# 比较两个列表的元素

print cmp(list01, list02)

# 列表最大/最小值

print max([0, 1, 2, 3, 4])
print min([0, 1])

# 将元组转换为列表

aTuple = (1,2,3,4)
list03 = list(aTuple)
print list03

# 在列表末尾添加新的元素

list03.append(5)
print list03

# 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

list03.extend(list01)
print list03

# 统计某个元素在列表中出现的次数

print list03.count(1)

# 从列表中找出某个值第一个匹配项的索引位置

print list03.index('john')

# 将对象插入列表

list03.insert(0, 'hello')
print list03

# 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

print list03.pop(0)
print list03

# 移除列表中某个值的第一个匹配项

list03.remove(1)
print list03

# 反向列表中元素

list03.reverse()
print list03

# 对原列表进行排序

list03.sort()
print list03

935Python 列表(List)

python 创建二维列表,将需要的参数写入 cols 和 rows 即可

list_2d = [[0 for col in range(cols)] for row in range(rows)]

实例:

>>> list_2d = [ [0 for i in range(5)] for i in range(5)]
>>> list_2d[0].append(3)
>>> list_2d[0].append(5)
>>> list_2d[2].append(7)
>>> list_2d
[[0, 0, 0, 0, 0, 3, 5], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

934Python 字符串

如果你不理解 s[1:] s[0:-1] 的请看这里:

>>> seq[:]                # [seq[0],   seq[1],          ..., seq[-1]    ]
>>> seq[low:]             # [seq[low], seq[low+1],      ..., seq[-1]    ]
>>> seq[:high]            # [seq[0],   seq[1],          ..., seq[high-1]]
>>> seq[low:high]         # [seq[low], seq[low+1],      ..., seq[high-1]]
>>> seq[::stride]         # [seq[0],   seq[stride],     ..., seq[-1]    ]
>>> seq[low::stride]      # [seq[low], seq[low+stride], ..., seq[-1]    ]
>>> seq[:high:stride]     # [seq[0],   seq[stride],     ..., seq[high-1]]
>>> seq[low:high:stride]  # [seq[low], seq[low+stride], ..., seq[high-1]]

933Python 字符串

对 decode / encode的补充说明

windows python2.7 的环境,中文编码默认使用 gbk:

许多模块返回的、或使用的字符串是 unicode,故而需要转码。

例如,xxx 模块 tmp_fun() 返回的字符串是 unicode 字符,而另一个模块 yyy 模块 fun_tmp() 返回的字符串是 gbk 字符,我们现在需要判断两个返回值是否相等。可以使用如下两种方式进行判断。

import xxx
import yyy
if tmp_fun()==fun_tmp().decode("gbk"):
  print "eq"
'''
  decode("gbk")作用为将gbk编码转为unicode编码
'''

或者

import xxx
import yyy
if tmp_fun().encode("gbk")==fun_tmp()
  print "eq"
'''
  encode("gbk")作用为将unicode编码转为gbk编码
'''

932Python 字符串

计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。

ASCII编码和Unicode编码的区别:

ASCII编码是1个字节,而Unicode编码通常是2个字节,举例如下。

  字母 用ASCII编码是十进制的65,二进制的01000001

  字符 用ASCII编码是十进制的48,二进制的00110000,注意字符 '0' 和整数   

是不同的;

  汉字 中 已经超出了ASCII编码的范围,用Unicode编码是十进制的20013,二进制的01001110 00101101

  如果把ASCII编码的 用Unicode编码,只需要在前面补0就可以,因此, 的Unicode编码是00000000 01000001