为什么这会打印出列表[None, None, None]
而不是列出我输入的三个答案的列表?
options = []
for i in range(3):
options[i] = options.append(raw_input("enter an option"))
print options
答案 0 :(得分:7)
由于list.append
是就地方法,因此它不会返回任何内容,因此会返回None
,这是您设置options[i]
的内容。示例 -
>>> lst = [1]
>>> print(lst.append(2))
None
在上面的案例中打印了 None
,因为这是lst.append()
返回的内容。
您不需要options[i] =
。代码 -
for i in range(3):
options.append(raw_input("enter an option"))
答案 1 :(得分:2)
您也可以使用理解跳过初始化:
public function add_product_value($img = false){
$this->db->insert("tbl_package",array(
"p_name"=>$this->input->post("name"),
'price'=>$this->input->post("price"),
'discount'=>$this->input->post('dis'),
'dis_date'=>date('Y-m-d H:i:s'),
'p_decription'=>$this->input->post('editor1'),
'supply_id'=>pde($this->input->post('supplyer')),
'p_date'=>date('Y-m-d H:i:s'),
'userid'=>$this->session->userdata("userID"),
'auto'=>$this->input->post('auto')
));
$getID = mysql_insert_id();
if($img){
$n = 1;
foreach($img as $key){
if($n<=3):
$this->db->insert('tbl_photo',array(
"pho_name"=>$key['file_name'],
'id_pk'=>$getID
));
endif;
$n++;
}
}
}