python数组使用(超级全面) |
您所在的位置:网站首页 › python的数组下标 › python数组使用(超级全面) |
1、Python的数组分三种类型: (1) list 普通的链表,初始化后可以通过特定方法动态增加元素。 定义方式:arr = [元素] (2) Tuple 固定的数组,一旦定义后,其元素个数是不能再改变的。 定义方式:arr = (元素) (2) Dictionary 词典类型, 即是Hash数组。 定义方式:arr = {元素k:v} 2、下面具体说明这些数组的使用方法和技巧: (1) list 链表数组 a、定义时初始化 a = [1,2,[1,2,3]] b、定义时不初始化 一维数组: arr = [] 多维数组: arr = [i for i in range(10), 1,[]] #注意, i for in xx 这个必须放在第一个位置,否则要先定义i, 如: arr = [i for i in range(5), j for j in range(5), []] 这是错误的 i = 0 j = 0 arr = [i for i in range(5), j for j in range(5), []] 这是正确的 c、del 语句 和 : 的用法 可以用 start : end 表示数组里的一个区间 ( i >= start and i < end) del 删除数组里的指定元素 如: del arr[0] del arr[0, 2] newarr = arr[0, 2] d、遍历数组: for k, v in enumerate(arr): print k, v e、增加元素: 一维 arr.append('aaa') 二维 arr[0].append('aaa') 如果要在任意位置插入用 arr.insert(n, 值) 此外还有一种特殊的用法是: arr += [数组元素] 在不指定下标的情况下,是允许用 += 增加数组元素的。 (2) Tuple 固定数组 Tuple 是不可变 list,一旦创建了一个 tuple 就不能以任何方式改变它。 下面拿具体示例说明: >>> t = ("a", "b", "c", "d", "e") #[1] 用小括号包围来定义 >>> t ('a', 'b', 'c', 'd', 'e') >>> t[0] #[2] 直接列出某下标的元素 'a' >>> t[-1] #[3] 负数表示,从后面倒数的索引 -1 为倒数第一个, 0是顺数第一个 'example' >>> t[1:3] #[4] 这里 1:3 是 i>=1 and i>> a[::2] # iterate over the whole list in 2-increments 3. [1,3,5] 4. 5. # 列表逆序 6. >>> a[::-1] 7. [5,4,3,2,1] 8. 利用字典格式化字符串 view plaincopy to clipboardprint? 1. >>> print "The %(foo)s is %(bar)i." % {'foo': 'answer', 'bar':42} 2. The answer is 42. 3. 4. >>> foo, bar = 'question', 123 5. 6. >>> print "The %(foo)s is %(bar)i." % locals() 7. The question is 123. 9. 保留精确数因为round()返回指类型为浮点数,所以需要加上str() view plaincopy to clipboardprint? 1. >>> str(round(1234.5678, -2)) 2. '1200.0' 3. >>> str(round(1234.5678, 2)) 4. '1234.57' 10. and/or 条件选择 view plaincopy to clipboardprint? 1. x = is_ok() and "Yes" or "No" 2. 3. # 等价于 4. if is_ok(): 5. x = "Yes" 6. else: 7. x = "No" 8. 11. 列表赋值y = x 相当于 指针传递;y = x[:]相当于 值传递。 view plaincopy to clipboardprint? 1. >>> x = [1,2,3] 2. >>> y = x 3. >>> y[2] = 7 4. >>> y 5. [1, 2, 7] 6. >>> x 7. [1, 2, 7] 8. >>> y = x[:] 9. >>> y[2] = 8 10. >>> y 11. [1, 2, 8] 12. >>> x 13. [1, 2, 7] 1、Python的数组分三种类型: (1) list 普通的链表,初始化后可以通过特定方法动态增加元素。 定义方式:arr = [元素] (2) Tuple 固定的数组,一旦定义后,其元素个数是不能再改变的。 定义方式:arr = (元素) (2) Dictionary 词典类型, 即是Hash数组。 定义方式:arr = {元素k:v} 2、下面具体说明这些数组的使用方法和技巧: (1) list 链表数组 a、定义时初始化 a = [1,2,[1,2,3]] b、定义时不初始化 一维数组: arr = [] 多维数组: arr = [i for i in range(10), 1,[]] #注意, i for in xx 这个必须放在第一个位置,否则要先定义i, 如: arr = [i for i in range(5), j for j in range(5), []] 这是错误的 i = 0 j = 0 arr = [i for i in range(5), j for j in range(5), []] 这是正确的 c、del 语句 和 : 的用法 可以用 start : end 表示数组里的一个区间 ( i >= start and i < end) del 删除数组里的指定元素 如: del arr[0] del arr[0, 2] newarr = arr[0, 2] d、遍历数组: for k, v in enumerate(arr): print k, v e、增加元素: 一维 arr.append('aaa') 二维 arr[0].append('aaa') 如果要在任意位置插入用 arr.insert(n, 值) 此外还有一种特殊的用法是: arr += [数组元素] 在不指定下标的情况下,是允许用 += 增加数组元素的。 (2) Tuple 固定数组 Tuple 是不可变 list,一旦创建了一个 tuple 就不能以任何方式改变它。 下面拿具体示例说明: >>> t = ("a", "b", "c", "d", "e") #[1] 用小括号包围来定义 >>> t ('a', 'b', 'c', 'd', 'e') >>> t[0] #[2] 直接列出某下标的元素 'a' >>> t[-1] #[3] 负数表示,从后面倒数的索引 -1 为倒数第一个, 0是顺数第一个 'example' >>> t[1:3] #[4] 这里 1:3 是 i>=1 and i>> a[::2] # iterate over the whole list in 2-increments 3. [1,3,5] 4. 5. # 列表逆序 6. >>> a[::-1] 7. [5,4,3,2,1] 8. 利用字典格式化字符串 view plaincopy to clipboardprint? 1. >>> print "The %(foo)s is %(bar)i." % {'foo': 'answer', 'bar':42} 2. The answer is 42. 3. 4. >>> foo, bar = 'question', 123 5. 6. >>> print "The %(foo)s is %(bar)i." % locals() 7. The question is 123. 9. 保留精确数因为round()返回指类型为浮点数,所以需要加上str() view plaincopy to clipboardprint? 1. >>> str(round(1234.5678, -2)) 2. '1200.0' 3. >>> str(round(1234.5678, 2)) 4. '1234.57' 10. and/or 条件选择 view plaincopy to clipboardprint? 1. x = is_ok() and "Yes" or "No" 2. 3. # 等价于 4. if is_ok(): 5. x = "Yes" 6. else: 7. x = "No" 8. 11. 列表赋值y = x 相当于 指针传递;y = x[:]相当于 值传递。 view plaincopy to clipboardprint? 1. >>> x = [1,2,3] 2. >>> y = x 3. >>> y[2] = 7 4. >>> y 5. [1, 2, 7] 6. >>> x 7. [1, 2, 7] 8. >>> y = x[:] 9. >>> y[2] = 8 10. >>> y 11. [1, 2, 8] 12. >>> x 13. [1, 2, 7]1、Python的数组分三种类型: (1) list 普通的链表,初始化后可以通过特定方法动态增加元素。 定义方式:arr = [元素] (2) Tuple 固定的数组,一旦定义后,其元素个数是不能再改变的。 定义方式:arr = (元素) (2) Dictionary 词典类型, 即是Hash数组。 定义方式:arr = {元素k:v} 2、下面具体说明这些数组的使用方法和技巧:(1) list 链表数组 a、定义时初始化 a = [1,2,[1,2,3]]b、定义时不初始化 一维数组: arr = [] 多维数组: arr = [i for i in range(10), 1,[]] #注意, i for in xx 这个必须放在第一个位置,否则要先定义i, 如: arr = [i for i in range(5), j for j in range(5), []] 这是错误的 i = 0 j = 0 arr = [i for i in range(5), j for j in range(5), []] 这是正确的c、del 语句 和 : 的用法 可以用 start : end 表示数组里的一个区间 ( i >= start and i < end) del 删除数组里的指定元素 如: del arr[0] del arr[0, 2] newarr = arr[0, 2]d、遍历数组: for k, v in enumerate(arr): print k, ve、增加元素: 一维 arr.append('aaa') 二维 arr[0].append('aaa') 如果要在任意位置插入用 arr.insert(n, 值) 此外还有一种特殊的用法是: arr += [数组元素] 在不指定下标的情况下,是允许用 += 增加数组元素的。(2) Tuple 固定数组 Tuple 是不可变 list,一旦创建了一个 tuple 就不能以任何方式改变它。 下面拿具体示例说明: >>> t = ("a", "b", "c", "d", "e") #[1] 用小括号包围来定义 >>> t ('a', 'b', 'c', 'd', 'e') >>> t[0] #[2] 直接列出某下标的元素 'a' >>> t[-1] #[3] 负数表示,从后面倒数的索引 -1 为倒数第一个, 0是顺数第一个 'example' >>> t[1:3] #[4] 这里 1:3 是 i>=1 and i>> a[::2] # iterate over the whole list in 2-increments 3. [1,3,5] 4. 5. # 列表逆序 6. >>> a[::-1] 7. [5,4,3,2,1]
8. 利用字典格式化字符串 view plaincopy to clipboardprint? 1. >>> print "The %(foo)s is %(bar)i." % {'foo': 'answer', 'bar':42} 2. The answer is 42. 3. 4. >>> foo, bar = 'question', 123 5. 6. >>> print "The %(foo)s is %(bar)i." % locals() 7. The question is 123. 9. 保留精确数因为round()返回指类型为浮点数,所以需要加上str() view plaincopy to clipboardprint? 1. >>> str(round(1234.5678, -2)) 2. '1200.0' 3. >>> str(round(1234.5678, 2)) 4. '1234.57' 10. and/or 条件选择 view plaincopy to clipboardprint? 1. x = is_ok() and "Yes" or "No" 2. 3. # 等价于 4. if is_ok(): 5. x = "Yes" 6. else: 7. x = "No" 8. 11. 列表赋值y = x 相当于 指针传递;y = x[:]相当于 值传递。 view plaincopy to clipboardprint? 1. >>> x = [1,2,3] 2. >>> y = x 3. >>> y[2] = 7 4. >>> y 5. [1, 2, 7] 6. >>> x 7. [1, 2, 7] 8. >>> y = x[:] 9. >>> y[2] = 8 10. >>> y 11. [1, 2, 8] 12. >>> x 13. [1, 2, 7] |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |