列表 list 与 for 循环
Python 列表(List)
- 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型。
list1 = ['physics', 'chemistry', 1997, 2000]/列表的数据项不需要具有相同的类型。
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
- 访问列表中的值
使用下标索引来访问列表中的值
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]/ [1:3]取下标为1,2的,前面能取到后面取不到
以上实例输出结果:
list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
- 更新列表
可以使用append()方法来添加列表项,如下所示:
list = [] / 空列表
list.append('Google') / 使用 append() 添加元素
list.append('Runoob')
print list
['Google', 'Runoob']
- 删除列表元素
可以使用 del 语句来删除列表的元素,如下实例:
list1 = ['physics', 'chemistry', 1997, 2000]
del list1[2] / del加下标
print "After deleting value at index 2 : "
print list1
After deleting value at index 2 :
['physics', 'chemistry', 2000]
Python 表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print x, | 1 2 3 | 迭代 |
- Python列表截取
>>>L = ['Google', 'Runoob', 'Taobao']
>>> L[2]
'Taobao'
>>> L[-2] /截取倒数第二个元素
'Runoob'
>>> L[1:] /从下标为1的开始截取
['Runoob', 'Taobao']
- Python列表函数&方法
Python 列表(List) | 菜鸟教程 (runoob.com)
补充for循环
- for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for letter in 'Python': /第一个实例,for遍历字符串
print("当前字母: %s" %letter) %s通过str()字符串转换来格式化
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: / 第二个实例,for遍历列表,对象就是一个元素
print ('当前水果: %s' %fruit)
当前字母: P
当前字母: y
当前字母: t
当前字母: h
当前字母: o
当前字母: n
当前水果: banana
当前水果: apple
当前水果: mango
- 二、通过序列索引迭代
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)): /range(start,stop)
print ('当前水果 : %s' %fruits[index])
当前水果 : banana
当前水果 : apple
当前水果 : mango
- 注释:range(start,stop[, step])
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)range(0, 30, 5) # 步长为 5
[0, 5, 10, 15, 20, 25]x = 'runoob'
for i in range(len(x)) : #就是range(0,len)刚好就是全部下标
... print(x[i])
...
r
u
n
o
o
b
- 三、循环使用 else 语句(其他语言没有)
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
for num in range(10,20): / 迭代 10 到 20 之间的数字
for i in range(2,num): / 根据因子迭代(2,10),(2,11)
if num%i == 0: / 确定第一个因子
j=num/i / 计算第二个因子
print ('%d 等于 %d * %d' % (num,i,j))
break / 跳出当前循环,这个数可以被2,3....整除
else: / 循环的 else 部分,当for都不行,即没执行到break,才执行else
print ('%d 是一个质数' % num)
10 等于 2 * 5
11 是一个质数
12 等于 2 * 6
13 是一个质数
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一个质数
18 等于 2 * 9
19 是一个质数