shiniei
shiniei
发布于 2025-06-12 / 21 阅读
0
0

5.操作列表

操作列表

for循环

languages = ["python", "c", "c#", "rust", "java"]
for language in languages:
    print(language)
```bash
python
c
c#
rust
java

range函数

for循环、生成列表、步长控制 、列表推到式、结合生成器

for循环

for value in range(1,5):
    print(value)
```bash
1
2
3
4

生成列表

a = list(range(1,11))
print(a)
```bash
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

控制步长

a = list(range(1,11,3))
print(a)
```bash
[1, 4, 7, 10]

列表推到式

b = [i**2 for i in range(1,11)]
print(b)
```bash
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

结合生成器

a = list( i**2 for i in range(1,11))
print(a)
```bash
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

统计相关

>>> a = [i for i in range(0,11)]
>>> print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> min(a)
0
>>> max(a)
10
>>> sum(a)
55

切片

打印切片、遍历切片、切片拷贝(浅拷贝)
切片和range函数一样右边不计入

打印切片

>>> a = [i for i in range(0,11)]
>>> print(a[0:11])
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> print(a[:-3])
[0, 1, 2, 3, 4, 5, 6, 7]
>>> print(a[-3:])
[8, 9, 10]

遍历切片

>>> a = ['python','c','c#','c++','rust','java','php']
>>> for language in a[2:6]:
...     print(language)
... 
c#
c++
rust
java

切片拷贝(浅拷贝)

>>> a = ['python','c','c#','c++','rust','java','php']
>>> b = a[:]
>>> print(a)
['python', 'c', 'c#', 'c++', 'rust', 'java', 'php']
>>> print(b)
['python', 'c', 'c#', 'c++', 'rust', 'java', 'php']
>>> a.append('js')
>>> b.append('go')
>>> print(a)
['python', 'c', 'c#', 'c++', 'rust', 'java', 'php', 'js']
>>> print(b)
['python', 'c', 'c#', 'c++', 'rust', 'java', 'php', 'go']

注意

>>> a = [[1,2],[6,9]]
>>> print(a)
[[1, 2], [6, 9]]
>>> b = a[:]
>>> print(b)
[[1, 2], [6, 9]]
>>> a[0][1] = 66
>>> print(a)
[[1, 66], [6, 9]]
>>> print(b)
[[1, 66], [6, 9]]
```bash
>>> a = ['python','c','c#','c++','rust','java','php']
>>> b = a
>>> a.append('go')
>>> print(b)
['python', 'c', 'c#', 'c++', 'rust', 'java', 'php', 'go']

元组(tuple)

元组 与 列表类似,只不过表层是不可变的,但是你在里面套了 列表,这个列表是可以改变的。


评论