python数组赋值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数组赋值相关的知识,希望对你有一定的参考价值。

python可以像C数组一样动态输入值吗for(i=0;i<7;i++) scanf("%d",&a[i]);
python这段k=0
for i in range(0,7):
member[i] = input("请输入数组元素值:")
print(member)
for j in range(0,len(member)):
print(member[j])

结果member并没有7个下标

参考技术A # 如果只是简单地循环一个 list,不要用下标来循环,使用 list 的 iterable 特性就好了

members = []
for i in range(7):
    member.append(input("请输入数组元素值"))
    
for member in members:
    print(member)

追问

iterable 特性就好了 在哪查找中文的iterable?

参考技术B   根据要求,有如下程序完全符合要求,只是有一点麻烦,调试过程中记得先定义好number,
  year, model, speed四个全局变量:
  def number(i):
  global number
  number = idef year(i):
  global year
  year = idef model(i):
  global model
  model = idef speed(i):
  global speed
  speed = i
  each_list = ["100", "2012", "34A", "390"]
  dic = 0: number, 1: year, 2: model, 3: speed
  for i in each_list:
  dic[each_list.index(i)](i)
  print number, year, model, speed
参考技术C print [raw_input('Enter: ') for x in range(7)]

追问

print [raw_input('Enter: ') for x in range(7)]

这是什么,回车输入吗?列表推导式?

追答

生成一个长度为7的列表,元素由用户输入然后print出来,你要的是这效果么?

for i in [raw_input('Enter: ') for x in range(7)]:
    print i

本回答被提问者采纳

python数组赋值失败

一般我们习惯对数组进行初始化,例如全部赋值为0,但是在赋值后却发现数组并未更新。
代码:

import numpy as np

a = np.array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]])
def set(a):
    a[1, 1] = 0.2
    return a
set(a)
print(a)

输出:

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]

**问题出在:数组a被默认为整型数组,因此小数赋值时会被自动四舍五入。**虽然python不是一个对于数据类型很严谨的语言,但是若不注重这些细节还是很容易出错的。

解决方式1:
将数组初始化时就赋值为浮点型数组

a = np.array([[0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0]])

解决方式2:
使用np.zeros进行初始化

a = np.zeros((4,4))

以上是关于python数组赋值的主要内容,如果未能解决你的问题,请参考以下文章

python 二维数组赋值问题

javascript如何将数组赋值为空

Python的赋值与复制

Python机器学习(四十七)NumPy 副本和视图

初始化多个 Numpy 数组(多重赋值) - 像 MATLAB deal()

二维数组的赋值问题