# 习题 32: 循环和列表¶

```hairs = ['brown', 'blond', 'red']
eyes = ['brown', 'blue', 'green']
weights = [1, 2, 3, 4]
```

Warning

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29``` ```the_count = [1, 2, 3, 4, 5] fruits = ['apples', 'oranges', 'pears', 'apricots'] change = [1, 'pennies', 2, 'dimes', 3, 'quarters'] # this first kind of for-loop goes through a list for number in the_count: print "This is count %d" % number # same as above for fruit in fruits: print "A fruit of type: %s" % fruit # also we can go through mixed lists too # notice we have to use %r since we don't know what's in it for i in change: print "I got %r" % i # we can also build lists, first start with an empty one elements = [] # then use the range function to do 0 to 5 counts for i in range(0, 6): print "Adding %d to the list." % i # append is a function that lists understand elements.append(i) # now we can print them out too for i in elements: print "Element was: %d" % i ```

## 你应该看到的结果¶

```\$ python ex32.py
This is count 1
This is count 2
This is count 3
This is count 4
This is count 5
A fruit of type: apples
A fruit of type: oranges
A fruit of type: pears
A fruit of type: apricots
I got 1
I got 'pennies'
I got 2
I got 'dimes'
I got 3
I got 'quarters'
Element was: 0
Element was: 1
Element was: 2
Element was: 3
Element was: 4
Element was: 5
\$
```

## 加分习题¶

1. 注意一下 range 的用法。查一下 range 函数并理解它。
2. 在第 22 行，你可以可以直接将 elements 赋值为 range(0,6)，而无需使用 for 循环？
3. 在 Python 文档中找到关于列表的内容，仔细阅读以下，除了 append 以外列表还支持哪些操作？

## 常见问题回答¶

range() 函数会从第一个数到最后一个，但不包含最后一个数字。所以它在 2 的时候就停止了，而不会数到 3。这种含首不含尾的方式是循环中及其常见的一种用法。

elements.append() 是什么功能？