玩命加载中...
### 4. str与in, for
`in`是逻辑运算,用来判断某元素是否在某list中,其返回值为`True`或者`False`。例如:
```python
my_str = 'Hello SofaSofa!'
print "hel" in my_str
print "Hel" in my_str
print "!" in my_str
#试试看使用not会是什么效果
print "hel" not in my_str
print "Hel" not in my_str
print "!" not in my_str
```
我们可以利用`for`和`in`对string中的字符进行遍历。
```python
for i in my_str:
print i
#同样我们也可以利用len()对字符串进行遍历:
for i in range(len(my_str)):
print my_str[i]
```
### 5. 字符串的修改与串联
对于已定义的字符串,我们可以其进行修改。
**注意,字符串中字符的修改操作与list中元素的修改操作不同。**
我们无法直接对某一指定位置的字符进行修改,`my_str[0] = "h"`会报错。通常我们会对整个字符串进行重新赋值。
```python
my_str = 'Hello SofaSofa!'
print my_str
#下面的命令会出错。
my_str[1] = "E"
```
Python中我们用`+`进行字符串的串联。
```python
#例子
my_str = "Hello" + " " + "SofaSofa!"
print my_str
#另外一个例子
str_1 = 'Today'
str_space = ' '
str_2 = 'is'
str_3 = 'Sunday!'
new_str = str_1 + str_space + str_2 + str_space + str_3
print new_str
```
回顾本节的第一个例子,我们也可以利用`+`对一个字符串中指定位置的字符进行修改。
```python
#比如我们想把index为10的字符改为s
my_str = 'Hello SofaSofa!'
print my_str
my_str = my_str[:10] + 's' + my_str[11:]
print my_str
#比如我们想把最后的感叹号改为句号
my_str = my_str[:-1] + '.'
print my_str
```
### 6. join与split
`a.join(my_str)`可以用字符`a`将字符串`my_str`中的所有字符串联起来。
```python
print '*'.join('SofaSofa')
print '--'.join('SofaSofa')
```
`my_str.split(a)`可以看作是`a.join(my_str)`的逆操作。但不同的是,`my_str.split(a)`的返回值是`list`类型的。
`''.join(my_list)`可以将`my_list`中的元素串联成一个字符串。
```python
my_str = 'Hi, this is Wifi'
print my_str
my_split = my_str.split('i')
print my_split
#若想将list中的元素全部串联成字符串,可以使用join方法。
new_str = ''.join(my_split)
print new_str
```