pythonlist初始化
1. 請問python中類的屬性怎麼初始化為一個列表
你的表述很有問題,問題本身便是錯的。
列表與其他類型的數據一樣,都可以作為實參傳入類和函數,而python在定義形參的時候是不指定類型的,所以完全不知道你為何有此一問。
但不論如何,你可以參考以下代碼。
class Student:
def __init__(self, name, age, scorelist): #構造函數,第一個參數為實例本身,按要求後接三個形參
self.name = name #屬性:姓名
self.age = age #屬性: 年齡
self.scorelist = scorelist #屬性:成績列表
def get_name(self):
return str(self.name)
def get_age(self):
return int(self.age)
def get_course(self):
return int(max(self.scorelist))
#self.scorelist便是傳入的list實參,用max()函數取出最大值,再強制轉換為int型。
zm = Student('zhangming',20,[69,88,100])
print(zm.get_name())
print(zm.get_age())
print(zm.get_course())
2. python怎麼設置list的下標從1開始
因為在運行python腳本的時候你沒在後面添加一個值。sys.argv[1]意思是取位置第二的參數。位置第一的是py名字,第二的參數你沒有輸入,所以取不到,所以報錯out of range。
你執行的時候一般是這樣的:python xxx.py A 其中xxx是程序名字,即sys.argv[0]的位置。A是參數,即sys.argv[1]取的位置。必須有這個A才行,要不然sys.argv[1]取不到值肯定報錯
3. python的二維list問題
list 的 乘法是將裡面的對象復制了一遍,並沒有創建新的對象(object)。比方說
b = [1, 2, 3]
b 是一個 list 對象,如果
a = [b]*3
那麼a就是一個包含三個 b 的列表,這個列表中的每一個對象都是b,所以你修改任意一個對象,實際都是在修改 b本身。用 id() 可以查看對象id,你可以發現a中的每一個元素都是同一個id
>>>b=[0,0,0]
>>>id(b)
47599855534232
>>>a=[b]*3
>>>a
[[0,0,0],[0,0,0],[0,0,0]]
>>>id(a)
47599860614424
>>>id(a[0])
47599855534232
>>>id(a[1])
47599855534232
>>>id(a[2])
47599855534232
>>>id(a[2])==id(b)
True
如果你想a中每一個元素都是不同的對象,可以用下面的代碼:
a=[[0]*3foriinrange(3)]
4. python 基本語法小問題,列表list初始化下面兩種小情況有什麼不同呢
你好,對於list 的賦值方式可以是多樣的,list1的賦值方式你可以看做是兩個同樣的列表[0]相加,list2的賦值則是利用for循環遍歷的方式。從上圖可以看出來,list1和list2的初始化值不一樣。你題目中給的list2有語病的。這里主要提一下第二種的賦值方式,這種for循環加上range函數,是在列表有一定規律的情況下才能用的,無規律的列表元素,最好還是採用直接賦值的方法,例如:list=[0,1].
5. python中怎麼在list中初始化一系列的相同類
提供思路
產生一個遞增的list:
num_inc_list = range(30)
#will return a list [0,1,2,...,29]1212
產生一個固定初始值的list:
initial_value = 0
list_length = 5
sample_list = [ initial_value for i in range(10)]
sample_list = [initial_value]*list_length
# sample_list ==[0,0,0,0,0]
6. python高手求教,兩個List怎麼只改變一個List中元素的值不引起另一個List的變化
import
List2=.deep(List1)
這樣賦值,List2初始值和List1一樣,因為是深度復制List1中的元素,所有深層元素都引用的是不同的對象,List1的任何改變不會影響List2
7. python怎樣創建具有一定長度和初始值的列表
1、首先,我們需要打開Python的shell工具,在shell當中新建一個對象member,對member進行賦值。
8. python里list的應用疑問
classSeat(object):
"""座位類
"""
def__init__(self):
"""初始狀態為空置
"""
self._statu=0
defassign(self):
"""座位分配
"""
self._statu=1
defempty(self):
"""座位回收
"""
self._statu=0
defisempty(self):
"""判斷座位是否可用
"""
returnself._statu==0
#初始化30個空座位列表
seatlist=[Seat()forxinrange(30)]
9. python中怎麼初始化list
Python中,tuple和list均為內置類型, 以list作為參數將tuple類初始化,將返回tuple類型 tuple([1,2,3]) #list轉換為tuple以tuple作為參數將list類初始化,將返回list類型 list((1,2,3)) #tuple轉換為list
10. python中怎麼在list中初始化一系列的相同類的對象
產生一個遞增的list:
num_inc_list = range(30)
#will return a list [0,1,2,...,29]1212
產生一個固定初始值的list:
initial_value = 0
list_length = 5
sample_list = [ initial_value for i in range(10)]
sample_list = [initial_value]*list_length
# sample_list ==[0,0,0,0,0]