python 变量和列表

变量和简单数据类型


变量:变量是可以赋值的标签,也就是变量指向特定的值。

变量命名尽量避免用大写字母/全部使用大写字母,常量命名常使用全大写的形式

字符串:字符串就是一系列字符

字符串修改大小写:

name = "ada lovelace"
print(name.title())#首字母大写
print(name.upper())#全大写
print(name.lower())#全小写——常用的数据存储格式

字符串中使用变量:format字符串(f 字符串)
要在字符串中插入变量的值,可在引号前加上字母f,再将变量名称放入花括号{ }内。

 first_name = "ada"
 last_name = "lovelace"
 full_name = f"{first_name} {last_name}"
 print(full_name.title())

使用制表符和换行符来添加空白:

print("python\t")#\t添加制表符
print("python\n")#\n添加换行符

删除空白

favorite_language = " python "
print(favorite_language.rstrip())#删除右边的空格
print(favorite_language.lstrip())#删除左边的空格
print(favorite_language.strip())#删除两边的空格
#在使用strip类函数时,并不会对变量本身产生影响

整数、浮点数类似C++,数字中插入下划线_不影响python的识别。

列表介绍


列表由一些列按照特定顺序的元素组成。 python中用方括号[ ] 来表示列表,并用, 分隔其中元素,打印列表时也会带上[ ] .

访问列表元素

要访问列表元素,运用该元素的索引即可,跟C++类似,从0开始, 输出并不带[ ].

numbers = [0,1,2,3]
print(numbers[0])
#若需从尾开始索引,可以用特殊的负数索引,如-1代表最后一个元素
print(numbers[-1])

使用列表中的各个值

number[ ]的使用方法类似变量。 若需要在字符串中访问可以用f 字符串的方法:

numbers = [0,1,2,3]
print(f"myfavorite number is {numbers[0]}")

修改、添加、删除元素

若需要修改列表中的元素,直接令 numbers[0] = 114514 即可.
若需要在列表末尾添加元素,运用.append()方法即可, 如:numbers.append(4)
若需要在列表中某处插入元素,用.insert()方法即可,插入后所有元素右移一位,如:numbers.insert(0,-1)
若需要在列表中删除元素,有两种方法对应两种不同的情况:若知道该元素的位置,用del语句del numbers[0] 和.pop()语句,pop方法默认”弹出“列表中的最后一个值(可以人为在括号内输入元素的索引),并会直接作用于原列表,将删除元素返回:

numbers = [0,1,2,3]
#打印原列表
print(numbers)
#删除并打印删除后的列表
poped_numbers = numbers.pop()
print(numbers)
print(poped_numbers)

若不知道该元素位置只知道该元素是什么,就用.remove()的方法: numbers.remove(3) 该方法也作用于列表本身。但.remove() 方法只删除第一个满足要求的元素,若需要全部删除,需要用到循环。

对列表进行排序

方法.sort()对列表进行永久排序,直接改变列表本身。
方法.sorted()对列表进行临时排序,排序并不会作用于列表本身。
这两种方法的逆排序都可以用: numbers.sort(reverse=True) 实现。
将列表逆排序可用.reverse()方法:numbers.reverse() 实现,该方法直接作用于列表本身。

确定列表长度

len方法可直接将列表长度返回:

In [1]: numbers = [0,1,2,3]
In [2]: len(numbers)
Out[2]: 4

操作列表


遍历整个列表——for循环

编写for循环时的关键点:

  1. for语句后必须跟英文的冒号:
  2. 语句内必须使用缩进,语句外不能使用和语句内相同的缩进
    例子:
value = []
numbers = [0,1,2,3,4,5]
for number in numbers:
	value.append(number+1729)
print(value) 

原理:在for循环for number in numbers中将列表numbers中的值在每一次循环中依次赋给number,而后运用append函数将每一次循环中的number处理后(这里是+1729)加入到空列表value中。
而以上代码有更简洁的写法——用“列表解析”实现

numbers = [0,1,2,3,4,5]
value = [number+1729 for number in numbers]
print(value)

列表解析的写法为:列表2 = [表达式 for 表达式 in 列表1]

创建数值列表

1. 函数range()

函数range()的返回值是“iterable”,在python中解释为“可迭代的对象”,因而可以作为for迭代的
对象。该函数功能是生成一系列有规律的数。
rang()可以输入三个数,分别定义起始数,终止数,步长(默认为1).
注意:range迭代到终止数时会直接终止,故其实到达不了终止数。

for value in range(1,5)
	print(value)

同时,range()函数还可以经过函数list()处理生成列表:numbers = list(range(1,5))

2. 对数字列表的统计计算

函数max(), min(), sum() 的返回值是数,分别返回最大值,最小值和列表中数的总和。

使用列表的一部分

1. 切片的使用

列表中的部分元素,称为列表的切片,返回一个列表形式的值。使用方法为列表[起始数:终止数与range()类似,最后的终止数不会返回。

numbers = [0,1,2,3,4]
prtint(number[0:3])

: 前或后不输入数字,那么默为列表首/尾*
同样的,切片也可像列表一样遍历。

复制列表

复制列表有两种方式:

numbers = [0,1,2,3,4]
value = number[:]

这种复制方法相当于创建了新的值number[:]这个值与标签numbers指向的值相同,然后令标签value指向这个新的值——也就是说对value做删改并不会影响numbers指向的值。

number = list(range(0,5))
value = numbers

这种方法没有新的值产生,value和numbers指向同一个列表list(range(0,5)). 对value作删改会影响numbers的值。

元组

元组可以简单地看作:无法修改的列表,用圆括号()括起而不是列表的方括号[].
元组有和列表类似的索引,遍历方式。但是元组是不可以被修改的:

numbers = (0,1,2,3,4)
numbers[0] = 1

比如这么写python会报错。
若想修改元组的值,只能修改元组指向的变量(或者说重新定义)

number = (0,1,2,3,4)
number = (1,1,2,3,4)
print(number)
posted @ 2023-01-18 22:09  黄骏  阅读(132)  评论(0)    收藏  举报