py 元组tuple, 列表list 与词典dict

1.元组

元组, builtins.tuple. 小括号.
在初始化后, 内容不能被更新.

#!/usr/bin/python
# -*- coding: UTF-8 -*-
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print tuple # 输出完整元组
print tuple[0] # 输出元组的第一个元素
print tuple[1:3] # 输出第二个至第三个的元素 
print tuple[2:] # 输出从第三个开始至列表末尾的所有元素
print tinytuple * 2 # 输出元组两次
print tuple + tinytuple # 打印组合的元组

2.列表

builtins.list, 是一个类.
列表, list, 中括号.
是 Python 中使用最频繁的数据类型。
可以盛放若干个不同类型的元素.

list[:] list的所有元素
list[-i] list的倒数第i个元素, -1就是正数的最后一个.
list.append(list2) 将list2作为一个元素追加进去
list.extend(list2) 将list2的每个元素都作为一个元素挨个追加进去

  • list#pop(self, index=None)
    remove and return item at index (default last).
#!/usr/bin/python
# -*- coding: UTF-8 -*-
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # 输出完整列表
print list[0] # 输出列表的第一个元素
print list[1:3] # 输出第二个至第三个的元素 
print list[2:] # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2 # 输出列表两次
print list + tinylist # 打印组合的列表

2.0 list遍历

如果元素类型是tuple或list, 可以直接 通过 for(x,y)这样的形式直接取到基本元素的子元素.

x=[(1,2,3),(2,3,4),(3,4,5)]
for t1,t2,t3 in x:
    print(t1,t2,t3)
for (t1,t2,t3) in x:
    print(t1,t2,t3)

##2.1 range

用于生成一个list.
range(a)生成[0,a)的元素
range(a,b)生成[a,b)的元素
range(a,b,c) 生成[a,b)的元素, 间隔是c
在py3.5中, 生成的类型是range.
##2.2 二维数组

def create2dArr(rowNum,columnNum):
        arr = [[0]*columnNum for i in range(rowNum)]
        return arr

字典

字典, dictionary, 大括号.
你会发现, 它跟json 很像.
key in dict 判断词典中是否有这个key.

dict[key], key不存在会报错.
dict.get(key) key不存在返回None.
dict.get(key,defaultValue) key不存在返回defaultValue.

#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print dict['one'] # 输出键为'one' 的值
print dict[2] # 输出键为 2 的值
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值

3.1 dict的遍历

固有顺序遍历:

for k,v in my_dict.items():
    print(k,v)

按照value排序得到list:

dic = {'a':1 , 'b':5 , 'c': 3,'d':2}
x=sorted(dic.items(),key=lambda x:x[1],reverse=True)
print(x)
"""
[('b', 5), ('c', 3), ('d', 2), ('a', 1)]
"""

3.2 dict的随机抽取

list(dict.keys())list(dict.values()) 将key或value的所有取值变成了一个列表.
然后通过 np.random.choice() 随机抽取.

4. 筛选与映射

想要对已有集合进行筛选与映射, 得到新集合. 除了新申请一个list, 用for循环遍历处理外, 还可以
一边用谓词筛选, 一边用函数加工,一句话搞定.

text_word_arr = ['',',','ab','the']
text_valid_word_arr = list( '['+word+']' for word in text_word_arr if len(word) > 1)
print(text_valid_word_arr)
"""
['[ab]', '[the]']
"""

你可能感兴趣的:(python)