Python list 串列
#-----------------------------------------------程式--------
#串列list宣告, 陣列array
list1=[11,22,33,44,55,66,77]
# index 索引 = 0,1,2,3,4,5,6
# len( list1 )= 7
#引用元素
print( list1[0], list1[1], list1[2])
#呼叫全部
print(list1)
for i in range(7): # range(7)=0,1,2,3,4,5,6
print( list1[i],end=",")
print() #空行
for s in list1:
print(s,end=",")
#-----------------------------------------------程式--------
#字串型內容
apple=["香蕉","芭樂","蘋果","流連","葡萄"]
for s in apple:
print(s,end=",")
#-----------------------------------------------程式--------
#求總和 1
score=[11,22,33,44,55,66,77]
sum=0
for i in range( len(score) ) : #length
# len(score)=7, range(len(score))=range(7)=0~6
#print(score[i],end="'")
print(sum,"=",sum,"+",score[i],end="")
sum=sum+score[i] # <-----縮排,跑了7次
print( "---> sum=",sum )
print()
print("sum=" , sum )
#------------------------------------文字==結果----
0 = 0 + 11---> sum= 11
11 = 11 + 22---> sum= 33
33 = 33 + 33---> sum= 66
66 = 66 + 44---> sum= 110
110 = 110 + 55---> sum= 165
165 = 165 + 66---> sum= 231
231 = 231 + 77---> sum= 308
sum= 308
#-----------------------------------------------程式--------
#求總和 2 <----注意, sum的位置不一樣
score=[11,22,33,44,55,66,77]
sum=0
for i in range( len(score)) :
print(i,end=",")
print()
print("i=",i)
sum=sum+score[i] # <----注意, sum的位置不一樣
## <-----沒有縮排,不在for裡面,跑了1次
print("sum=" , sum )
print("why? sum=77 ")
print(".......自已填............")
#-----------------------------------------------程式--------
#自動產生100個數字, 排序
import random #外掛,亂數
list2=[]
for i in range(100):
list2.append( random.randint(1,100) )
print( list2 )
list2.sort()
print( list2 )
list2.reverse()
print( list2 )
#-----------------------------------------------程式--------
# 搜尋, 計算找到幾個元素
import random
list2=[]
for i in range(100):
list2.append(random.randint(1,100))
print( list2 )
x=int(input("請輸入一個數字做search..")) # input-->字串
for i in range(100): # i=0~99
if(x==list2[i]): # list2[0] ~ list2[99] ,
# a=5 assign , a==5 compare,傳回直=True/False
print(i,list2[i]) # i=index , list[i]=直
#計算找到幾個元素--自己算
cnt=0
for i in range(100):
if(x==list2[i]):
cnt+=1 # cnt=cnt+1
print("There are", cnt ,"elements in List2 (自己算)" )
#計算找到幾個元素--用現有的函式
print("There are", list2.count(x),"elements in List2 (count)" )
#-----------------------------------------------程式--------
## Home Work 1
# 產生100個元素的陣列list3, 再產生一個空的陣列odd(奇數),even(偶數)
# 將list3的奇數copy到odd,將list3的=偶數copy到even,排序後印出
import random
list3=[]
for i in range(100):
list3.append(random.randint(1,100))
print( list3 )
list3.sort()
odd=[]
even=[]
for i in range(100):
if( list3[i] %2 ==1 ): # % 取餘數 , ==比較(是不是等於),結果=True/false
odd.append( list3[i] )
else:
even.append( list3[i] )
print( odd )
print( even )
# HomeWork 請計算奇數數字和,偶數數字的和
#-----------------------------------------------程式--------
# Home work 2
# 產生一個list,如下 [1,2,3,,,,,,100]
# 計算總和sum跟平均值average
import random
list3=[]
for i in range(100):
list3.append(random.randint(1,100))
print( list3 )
sum=0
for i in range( 100 ) :
sum=sum+list3[i]
print("sum=" , sum )
print("averge=" , sum/100 )
----------------------------------
#統計list內每一個元素的數量
import random
list4=[]
for i in range(300): list4.append(random.randint(1,50))
print( list4 )
#count
list4.sort()
print(list4)
x=list4[0]
cnt=0
for i in range(300):
if(x != list4[i]):
print(x," 有 ", list4.count(x),",",cnt,"個")
x=list4[i]
cnt=0
cnt+=1
沒有留言:
張貼留言