2024/1/18
Python篇:数据类型
1、 列表[]:类似R语言的向量,可以放int,string,logic等类型数据,是一个动态数据类型,与元组来说,是一个比较动态自由的数据类型,可以进行以下操作:append, inser,remove等操作增删改。
元组():存储的数据类型方面和列表相似,但是一个静态的数据类型,一般不能更改其中已经定义好的元素,若要增加元素进入元组,必须以元组的方式加入本来就是元组的元素,例如:
l=(1,2,4,'dsad',True),
k= l + (1,)####注意单个元素要加逗号,不然Python不会将其视为元组,而是视为int。
2、切片和索引:注意python元素排序是从0开始计算,并且取前n个元素时,注意取前不取后,例如:
l[:3]####取了第0,1,2上的元素
l[1:3]###取到第1,2的元素
注意:与R不同的时,l[-1]代表取倒数第一个元素,在R里面是删除向量第一个元素
小技巧:查询内部元素重复几次时可以用,x.count("查询对象");查询内部元素的索引可以用,x.index("查询对象")
3、常用内置函数
除了count,index,以及list的insert,remove 。
(1)还有list的pop:
my_list = [1, 2, 3, 4, 5]
# 移除并返回最后一个元素
popped_element = my_list.pop()
print(popped_element) # 输出:5
print(my_list) # 输出:[1, 2, 3, 4]
# 移除并返回指定位置的元素
popped_element = my_list.pop(1) # 移除索引为1的元素
print(popped_element) # 输出:2
print(my_list) # 输出:[1, 3, 4]
#pop和remove的差别:
pop和remove都是用于从列表中删除元素的方法,但是它们之间有一些重要的区别。pop()方法用于删除指定索引位置的元素,并返回被删除的元素。如果不指定索引位置,则默认删除最后一个元素。语法如下:
```python
list_name.pop(index)
```
remove()方法用于删除列表中第一个匹配的元素。语法如下:
```python
list_name.remove(element)
```
因此,pop()方法是根据索引位置来删除元素的,而remove()方法是根据元素的值来删除元素的。这是它们之间最重要的区别。
(2)list.reverse()
`list.reverse()`是Python中用来反转列表中元素顺序的方法。调用这个方法后,列表中的元素顺序会被颠倒。示例如下:
```python
my_list = [1, 2, 3, 4, 5]
my_list.reverse()
print(my_list) # 输出 [5, 4, 3, 2, 1]
```
注意:此时的list会被新的list覆盖!!而且是按照元素的ASCII值排序,用处不大。功能上类似list.sort(reverse=True),list[::-1]#反向输出list种的元素
(3)list.sort()
`list.sort()`是Python中用来对列表进行排序的方法。调用这个方法后,列表中的元素会按照一定的规则进行排序,默认是按照升序排列。示例如下:
```python
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
my_list.sort()
print(my_list) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
另外,`list.sort()`方法还可以接受一个关键字参数`reverse`,用来指定是否进行降序排序。当`reverse=True`时,列表会按照降序排列。
注意:此时的list会被新的list覆盖!!并且只能对相同类型的元素进行排序
(4)reversed() ,sorted()
`sorted()`和`reversed()`是Python中用来对可迭代对象进行排序和反转的函数。
`sorted()`函数用于对可迭代对象进行排序,它返回一个新的已排序的列表,而不会改变原始对象。示例如下:
```python
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_list = sorted(my_list)
print(sorted_list) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
`reversed()`函数用于反转可迭代对象中的元素顺序,它返回一个迭代器对象。示例如下:
```python
my_list = [1, 2, 3, 4, 5]
reversed_list = list(reversed(my_list))
print(reversed_list) # 输出 [5, 4, 3, 2, 1]
```
需要注意的是,`reversed()`返回的是一个迭代器对象,如果需要转换成列表,需要使用`list()`函数将其转换成列表。