- 数组赋值
1.用例:
a = [1, 2, 3]
b = a
这样定义会导致a、b均指向列表[1,2,3],修改a或者b,另一个也会被修改
2.可以使用list的copy方法
b=a.copy()
3.使用slice操作
b=a[:] #slice操作返回一个新的对对象
- 数组去重
##循环去重
ids = [1,2,3,3,4,2,3,4,5,6,1]
news_ids = []
for id in ids:
if id not in news_ids:
news_ids.append(id)
print news_ids
##set去重
ids = [1,4,3,3,4,2,3,4,5,6,1]
ids = list(set(ids))
##itertools.grouby去重
import itertools
ids = [1,4,3,3,4,2,3,4,5,6,1]
ids.sort()
it = itertools.groupby(ids)
for k, g in it:
print k
- 数组间的元素两两组合
a=[‘a’,‘b’,‘c’,‘d’,’’ ,]
for i in range(len(a)-1):
n=len(a)-2
#print(i,n)
while n >i :
print(a[i],a[n])
n=n-1
输出结果:a d 、a c、a b 、b d 、b c 、c d
- 中文元素数组输出问题
代码内容如下:
#!/usr/bin/python
#coding=utf-8
import json
f=[]
s=‘五六七’
f.append(s)
f.append(“一”)
f.append(‘二’)
f.append(‘123’)
print(f)
print (json.dumps(f,encoding=‘utf-8’,ensure_ascii=False))
for i in f:
print(i)
输出结果如下:
[’\xce\xe5\xc1\xf9\xc6\xdf’, ‘\xd2\xbb’, ‘\xb6\xfe’, ‘123’]
[“五六七”, “一”, “二”, “123”]
五六七
一
二
123
数组不能正常直接输出中文字符,解决办法为用json.dumps(f,encoding=‘utf-8’,ensure_ascii=False)