Python自学1(列表和字符串)

Python自学1(列表和字符串)_第1张图片
" 我可不是为了被全人类喜欢才活着的、只要对于某一个人来说我是必要的,我就能活下去 "

一串数据怎么存—列表和字符串

  • 1、列表
    • 1.1、列表的引入
    • 1.2、列表中的数据类型
    • 1.3、列表索引
      • 1.3.1、列表索引取值
      • 1.3.2、列表索引改变值
    • 1.4、列表长度
    • 1.5、向列表中添加单个数据
  • 2、字符串
    • 2.1、字符串索引
    • 2.2、字符串长度
  • 3、总结
  • 4、C语言
    • 4.1、C语言定义数组

前言

  1. 我们设想一个场景
  2. 当有一个电话号码在我们程序中时、我们可以用一个变量去存储它
  3. 但是如果有10个电话号码
  4. 你的策略可能是
  5. 第一种、用10个不同的变量来存储
  6. 第二种、用逗号把它们拼在一起然后用字符串来表示
%1 用一个变量来存储一个电话号码
tel1 = 12345678900

%210个变量来存储10个电话号码
tel0 = 12345678900
tel1 = 13252357846
tel2 = 14567897622
tel3 = 18753976542
tel4 = 14876390087
tel5 = 12349087654
tel6 = 12349612345
tel7 = 12323234567
tel8 = 10098765456
tel9 = 13252758247

%3 用逗号拼在一起、用字符串来表示
tel = "12345678900,13252357846,14567897622,18753976542,14876390087,12349087654,12349612345,12323234567,10098765456,13252758247"
# 为了方便阅读、我们多行输入
tel = "12345678900," \
      "13252357846," \
      "14567897622," \
      "18753976542," \
      "14876390087," \
      "12349087654," \
      "12349612345," \
      "12323234567," \
      "10098765456," \
      "13252758247"

总结

  1. 第一种使用多个变量的方式、在数据量很大的情况下使用起来会十分繁琐
  2. 第二种使用字符串的方式、如果我们需要对其中的某些数据做处理、那这种方式就很不方便灵活了
# 第一种  100万个电话号码用100万个变量来存储
tel0 = 12345678900
tel1 = 13252357846
tel2 = 14567897622
tel3 = 18753976542
tel4 = 14876390087
tel5 = 12349087654
tel6 = 12349612345
tel7 = 12323234567
tel8 = 10098765456
tel9 = 13252758247
tel...
tel...
tel...

# 第二种 不方便分辨空格及标点符号
a = "a,     b,c.d/f"
# 你知道字符串里面有多少空格或者是标点符号吗?
# 根据索引来取是很复杂的、也不容易精确取到
print(a[1])
# output:,
list1 = [1,2,3,4,5]
print(list1[1])
# output:2

1、列表

1.1、列表的引入

# 语法  
# 方括号代表列表、每个数据项放在方括号中
[ 数据项 1,数据项 2,...,数据项 N ]

# 对字符串的优化(tel = "12345678900,13252357846,...,13252758247")
# 用一个列表来装配
tels = [13011110000, 18022221111, 13433332222, 13344443333, 17855554444, 13866665555, 15177776666, 13388887777, 18799998888, 17800009999]
# 为了方便阅读、我们多行输入
tels = [
 13011110000, 
 18022221111, 
 13433332222, 
 13344443333, 
 17855554444, 
 13866665555, 
 15177776666, 
 13388887777, 
 18799998888, 
 17800009999
]

1.2、列表中的数据类型

列表中的数据类型:任意类型

[100, 'about', True]

1.3、列表索引

  1. 列表中的每个数据项都有先后次序
  2. 第一种
  3. 最前面的数据项的位置编号为 0、之后依次是 1 、2 … N
  4. 第二种
  5. 最后面的数据的位置编号为 -1、之前依次是 -2 、-3… -N
  6. 这个位置编号在编程中的术语叫做索引(Index)
  7. 注意 Python 中索引是从 0 开始计数的、0 即代表第一个位置
  8. 强行用更大的索引值去取数据、代码直接就报错了

1.3.1、列表索引取值

%1
# 可以通过符号 [] 来获取某个索引所对应的数据项
a = [1,2,3,4,5]
print(a[1])
print(a[-4])
# output:2
#         2

%2
a = [1,2,3,4,5]
print(a[5])
# output:IndexError: list index out of range(列表索引超出范围)

1.3.2、列表索引改变值

a = [1,2,3,4,5]
a[0] = 100
# a[0]原本是 1、我们将它改成 100
print(a)
# 重新输出列表、可以看到列表第一项出现了改变
# output:[100, 2, 3, 4, 5]

1.4、列表长度

列表长度:列表中数据项的个数、叫做列表的长度

# 使用 len() 方法来获取列表的长度
a = [1,2,3,4,5]
print(len(a))
...print(len([1,2,3,4,5])
# output:5
#         ...5

1.5、向列表中添加单个数据

  1. 此前、列表中的数据在创建后就已经被确定下来了、并一直保持着这个长度
  2. 但在很多时候、我们需要随时向列表中添加数据
# 向列表的末尾添加数据可以用 .append()这个方法
# 语法:列表.append(新数据)(新数据只能为一个)
# 拓展:append() 是列表的方法
#「方法」具体是什么我们这里不需要了解、此处暂且把方法理解为某个数据类型自带的功能
# 如 append() 是列表自带的功能

a = [1,2,3,4,5]
a.append(6)
print(a)
# output:[1, 2, 3, 4, 5, 6]

a = [1,2,3,4,5]
a.append(67)
print(a)
# output:TypeError: append() takes exactly one argument (2 given)(append()只接受一个参数(给定2个))

2、字符串

  1. 字符串也可以保存批量数据、只不过其中的数据项只能是字符
  2. 字符串以单引号或双引号以及包裹在其中的若干字符组成
a = "123"
b = "abc"
c = "小小"

2.1、字符串索引

  1. 字符串中的字符也是有先后次序的
  2. 字符串是字符的有序序列、所以也具有索引
  3. 可以根据索引取出其中某一个字符、其索引使用方式和列表相同
  4. 字符串不能像列表那样通过索引去改变数据项的值
  5. 因为字符串类型的值是不可变的(Immutable)(不可变序列)
a = "123"
b = "abc"
c = "小小"
print(a[0])
print(b[0])
print(c[0])
print("3a涵"[0])
print("3a涵"[1])
print("3a涵"[2])
# output:1
#         a
#        小
#         3
#         a
#        涵

2.2、字符串长度

字符串长度:字符串中字符的个数也就是字符串的长度(包括空格在内的所有空白符号)

# 使用 len() 方法来获取字符串的长度
a = "123"
b = "abc"
c = "小小"
print(len(a))
print(len("12345"))
# output:3
#         5

3、总结

列表

  1. 如果我们想要保存和表示批量数据
  2. 可以使用 Python 中的列表(List)类型
  3. 列表是有序序列、能保存任意类型的数据项
  4. 可以通过索引(Index)来获取和修改其中某一个数据项
  5. 可以通过 len() 函数来获取列表的长度
  6. 也可以通过 .append()方法在列表末尾追加数据项

字符串

  1. 如果数据是文本、那么可以用字符串类型(String)来表示
  2. 字符串类型是字符的有序序列
  3. 可以通过索引获取某个位置的字符
  4. 也可以通过 len() 函数来获取长度

4、C语言

  1. 数组是保存和表示批量数据的最基本的结构
  2. 它也是构造字符串、集合和容器的基石
  3. Python 中没有数组概念、取而代之的是列表这种更高级的数据结构
  4. 列表涵盖了数组的功能并提供了更多且更强大的功能

4.1、C语言定义数组

// 定义数组
int numbers[3];

// 定义数组并用指定值初始化:
int numbers[] = {
     1, 2, 3};

你可能感兴趣的:(Python自学,列表,字符串,python,数据结构)