PYTHON機器學習自學/自修 整理[00005] ~ 語言技術:PYTHON GOSSIP(串列List/陣列Array處理)

PYTHON機器學習自學/自修 整理[00005] ~ 語言技術:PYTHON GOSSIP(串列List/陣列Array處理)

PYTHON機器學習自學/自修 整理[00005] ~ 語言技術:PYTHON GOSSIP(串列List / 陣列Array處理)


import sys

list1 = []
list1.append(1)#依序塞入值
list1.append('two')
list1.append(True)

for data in list1:
    print(str(data)+"-"+str(type(data)))

list1.pop()#依序移除值
for data in list1:
    print(str(data)+"-"+str(type(data)))

list1.remove('two')#指定移除值
for data in list1:
    print(str(data)+"-"+str(type(data)))

list1.insert(0, 'three')#指定位置塞入值
for data in list1:
    print(str(data)+"-"+str(type(data)))


list2 = [1, 'two', True]#使用陣列方式指定值
for data in list2:
    print(str(data)+"-"+str(type(data)))
    
    
list3 = ['one', 'two', 'three', 'four']
for data in list3:
    print(str(data)+"-"+str(type(data)))

list3[0] = 1#使用陣列方式替換值
list3[1:3] = [2, 3]
for data in list3:
    print(str(data)+"-"+str(type(data)))

del list3[0]#使用陣列方式去除值

del list3[0:2]
for data in list3:
    print(str(data)+"-"+str(type(data)))	   

list4 = ['one', 'two', 'three', 'four']
print('five' in list4)#判斷是否存在

list5 = [[1, 2, 3], [4, 5, 6]]#二維陣列
for row in list5:
    for elem in row:
        print(elem)
        
list6 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(list6)

i1 = list6[0:2]#二維陣列局部拷貝,copy by address
print(i1)

i1[0][1] = 20#二維陣列,單一元素指定值
print(i1)

list7 = list6[:]#二維陣列全部拷貝,copy by address
print(list7)

list10 = [1, 2]
list11 = [3, 4]
list12 = list10 + list11#陣列相加
print(list12)

list13 = [6, 1, 7, 3, 8]
list13.sort()#陣列排序
print(list13)
list13.sort(reverse=True)#陣列反向排序
print(list13)

score=[[0]*40 for i in range(5)]#有5列40行陣列宣告
print(score)


#https://mp.weixin.qq.com/s?__biz=MzAxMTkwODIyNA==&mid=2247507879&idx=2&sn=1de399c7429c60b16e3abd51de7bc959&chksm=9bbb7a48acccf35e6fe8af98f2c95d78bffe0e311c907ace0e6d4eda459ab70475e8aab5d3dd&scene=126&sessionid=1602119485&key=391633c74d74d5c55ed260e1bbec1136afddeb501b02529dc01fe64af57262a8cd16610970c8a7bcc55ca8e16709a1ccd905d96cd4d25bb2e77a102809aa6520eab81c12f0d7b3cc18dc180257c23c7104f0e83272b495622e529e375b1331630d3d27283131539ead27fda7da2cb2644c6ff76e31711a406ebb520cc765d85d&ascene=1&uin=MjIwODk2NDgxNw%3D%3D&devicetype=Windows+10+x64&version=6300002f&lang=zh_TW&exportkey=ApwKVfNUnWvkpZSdCRXfs1M%3D&pass_ticket=Q1hSP1pQjhToIguIwSV1VnQ9A%2FNIuppXZI6XV2MX7y4r7t9bUk%2FtWCKfacHM3qTw&wx_header=0

# print是内置的打印函数
print("I'm Python. Nice to meet you!")

# 在给变量赋值前不用提前声明
# 传统的变量命名是小写,用下划线分隔单词
some_var = 5
some_var  # => 5

# 访问未赋值的变量会抛出异常
# 参考流程控制一段来学习异常处理
some_unknown_var  # 抛出NameError

# 用列表(list)储存序列
li = []
# 创建列表时也可以同时赋给元素
other_li = [4, 5, 6]

# 用append在列表最后追加元素
li.append(1)    # li现在是[1]
li.append(2)    # li现在是[1, 2]
li.append(4)    # li现在是[1, 2, 4]
li.append(3)    # li现在是[1, 2, 4, 3]
# 用pop从列表尾部删除
li.pop()        # => 3 且li现在是[1, 2, 4]
# 把3再放回去
li.append(3)    # li变回[1, 2, 4, 3]

# 列表存取跟数组一样
li[0]  # => 1
# 取出最后一个元素
li[-1]  # => 3

# 越界存取会造成IndexError
li[4]  # 抛出IndexError

# 列表有切割语法
li[1:3]  # => [2, 4]
# 取尾
li[2:]  # => [4, 3]
# 取头
li[:3]  # => [1, 2, 4]
# 隔一个取一个
li[::2]   # =>[1, 4]
# 倒排列表
li[::-1]   # => [3, 4, 2, 1]
# 可以用三个参数的任何组合来构建切割
# li[始:终:步伐]

# 用del删除任何一个元素
del li[2]   # li is now [1, 2, 3]

# 列表可以相加
# 注意:li和other_li的值都不变
li + other_li   # => [1, 2, 3, 4, 5, 6]

# 用extend拼接列表
li.extend(other_li)   # li现在是[1, 2, 3, 4, 5, 6]

# 用in测试列表是否包含值
1 in li   # => True

# 用len取列表长度
len(li)   # => 6


# 元组是不可改变的序列
tup = (1, 2, 3)
tup[0]   # => 1
tup[0] = 3  # 抛出TypeError

# 列表允许的操作元组大都可以
len(tup)   # => 3
tup + (4, 5, 6)   # => (1, 2, 3, 4, 5, 6)
tup[:2]   # => (1, 2)
2 in tup   # => True

# 可以把元组合列表解包,赋值给变量
a, b, c = (1, 2, 3)     # 现在a是1,b是2,c是3
# 元组周围的括号是可以省略的
d, e, f = 4, 5, 6
# 交换两个变量的值就这么简单
e, d = d, e     # 现在d是5,e是4


# 用字典表达映射关系
empty_dict = {}
# 初始化的字典
filled_dict = {"one": 1, "two": 2, "three": 3}

# 用[]取值
filled_dict["one"]   # => 1


# 用 keys 获得所有的键。
# 因为 keys 返回一个可迭代对象,所以在这里把结果包在 list 里。我们下面会详细介绍可迭代。
# 注意:字典键的顺序是不定的,你得到的结果可能和以下不同。
list(filled_dict.keys())   # => ["three", "two", "one"]


# 用values获得所有的值。跟keys一样,要用list包起来,顺序也可能不同。
list(filled_dict.values())   # => [3, 2, 1]


# 用in测试一个字典是否包含一个键
"one" in filled_dict   # => True
1 in filled_dict   # => False

# 访问不存在的键会导致KeyError
filled_dict["four"]   # KeyError

# 用get来避免KeyError
filled_dict.get("one")   # => 1
filled_dict.get("four")   # => None
# 当键不存在的时候get方法可以返回默认值
filled_dict.get("one", 4)   # => 1
filled_dict.get("four", 4)   # => 4

# setdefault方法只有当键不存在的时候插入新值
filled_dict.setdefault("five", 5)  # filled_dict["five"]设为5
filled_dict.setdefault("five", 6)  # filled_dict["five"]还是5

# 字典赋值
filled_dict.update({"four":4}) # => {"one": 1, "two": 2, "three": 3, "four": 4}
filled_dict["four"] = 4  # 另一种赋值方法

# 用del删除
del filled_dict["one"]  # 从filled_dict中把one删除


# 用set表达集合
empty_set = set()
# 初始化一个集合,语法跟字典相似。
some_set = {1, 1, 2, 2, 3, 4}   # some_set现在是{1, 2, 3, 4}

# 可以把集合赋值于变量
filled_set = some_set

# 为集合添加元素
filled_set.add(5)   # filled_set现在是{1, 2, 3, 4, 5}

# & 取交集
other_set = {3, 4, 5, 6}
filled_set & other_set   # => {3, 4, 5}

# | 取并集
filled_set | other_set   # => {1, 2, 3, 4, 5, 6}

# - 取补集
{1, 2, 3, 4} - {2, 3, 5}   # => {1, 4}

# in 测试集合是否包含元素
2 in filled_set   # => True
10 in filled_set   # => False

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *